phy: sparx5-serdes: remove power up of all CMUs
authorDaniel Machon <daniel.machon@microchip.com>
Mon, 17 Apr 2023 18:03:34 +0000 (20:03 +0200)
committerVinod Koul <vkoul@kernel.org>
Mon, 8 May 2023 11:43:01 +0000 (17:13 +0530)
CMUs should not be powered up by default anymore, so remove responsible
code.

Signed-off-by: Daniel Machon <daniel.machon@microchip.com>
Link: https://lore.kernel.org/r/20230417180335.2787494-7-daniel.machon@microchip.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/microchip/sparx5_serdes.c
drivers/phy/microchip/sparx5_serdes.h

index a6638d783a0112d897e4a9be4a47e1558bb45f30..eb9352d1de7eb4b33e59800eb3cb0b0ca1c2c337 100644 (file)
@@ -1062,24 +1062,6 @@ static int sparx5_cmu_cfg(struct sparx5_serdes_private *priv, u32 cmu_idx)
        return sparx5_cmu_apply_cfg(priv, cmu_idx, cmu_tgt, cmu_cfg_tgt, spd10g);
 }
 
-static int sparx5_serdes_cmu_enable(struct sparx5_serdes_private *priv)
-{
-       int idx, err = 0;
-
-       if (!priv->cmu_enabled) {
-               for (idx = 0; idx < SPX5_CMU_MAX; idx++) {
-                       err  = sparx5_cmu_cfg(priv, idx);
-                       if (err) {
-                               dev_err(priv->dev, "CMU %u, error: %d\n", idx, err);
-                               goto leave;
-                       }
-               }
-               priv->cmu_enabled = true;
-       }
-leave:
-       return err;
-}
-
 /* Map of 6G/10G serdes mode and index to CMU index. */
 static const int
 sparx5_serdes_cmu_map[SPX5_SD10G28_CMU_MAX][SPX5_SERDES_6G10G_CNT] = {
@@ -2236,10 +2218,6 @@ static int sparx5_serdes_config(struct sparx5_serdes_macro *macro)
        int serdesmode;
        int err;
 
-       err = sparx5_serdes_cmu_enable(macro->priv);
-       if (err)
-               return err;
-
        serdesmode = sparx5_serdes_get_serdesmode(macro->portmode, macro->speed);
        if (serdesmode < 0) {
                dev_err(dev, "SerDes %u, interface not supported: %s\n",
@@ -2331,9 +2309,6 @@ static int sparx5_serdes_reset(struct phy *phy)
        struct sparx5_serdes_macro *macro = phy_get_drvdata(phy);
        int err;
 
-       err = sparx5_serdes_cmu_enable(macro->priv);
-       if (err)
-               return err;
        if (macro->serdestype == SPX5_SDT_25G)
                err = sparx5_sd25g28_config(macro, true);
        else
index 0a3e496e6210ccbfcdef12d5004ac09b02221c59..13f94a29225a40c533af45fcb98bfa943964c8d9 100644 (file)
@@ -30,7 +30,6 @@ struct sparx5_serdes_private {
        struct device *dev;
        void __iomem *regs[NUM_TARGETS];
        struct phy *phys[SPX5_SERDES_MAX];
-       bool cmu_enabled;
        unsigned long coreclock;
 };