Message ID | 20230331005518.2134652-10-andrew@lunn.ch (mailing list archive) |
---|---|
State | RFC |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: ethernet: Rework EEE | expand |
On Fri, Mar 31, 2023 at 02:55:03AM +0200, Andrew Lunn wrote: > phylink_ethtool_get_eee() fills in eee_enabled, eee_active and > tx_lpi_enabled. So there is no need for the MAC driver to do it as > well. > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> Complete patch set is tested on stmmac interface of Polyhex Debix Model A i.MX8MPlus board. The only thing that's changed from before is that we're not advertising EEE as a default anymore. Tested-by: Oleksij Rempel <o.rempel@pengutronix.de> > --- > drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 - > drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 7 ------- > drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 -- > 3 files changed, 10 deletions(-) > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h > index 3d15e1e92e18..a0f6e58fc622 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h > @@ -253,7 +253,6 @@ struct stmmac_priv { > int eee_enabled; > int eee_active; > int tx_lpi_timer; > - int tx_lpi_enabled; > int eee_tw_timer; > bool eee_sw_timer_en; > unsigned int mode; > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c > index 35c8dd92d369..fd97cdbb6797 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c > @@ -782,10 +782,7 @@ static int stmmac_ethtool_op_get_eee(struct net_device *dev, > if (!priv->dma_cap.eee) > return -EOPNOTSUPP; > > - edata->eee_enabled = priv->eee_enabled; > - edata->eee_active = priv->eee_active; > edata->tx_lpi_timer = priv->tx_lpi_timer; > - edata->tx_lpi_enabled = priv->tx_lpi_enabled; > > return phylink_ethtool_get_eee(priv->phylink, edata); > } > @@ -799,10 +796,6 @@ static int stmmac_ethtool_op_set_eee(struct net_device *dev, > if (!priv->dma_cap.eee) > return -EOPNOTSUPP; > > - if (priv->tx_lpi_enabled != edata->tx_lpi_enabled) > - netdev_warn(priv->dev, > - "Setting EEE tx-lpi is not supported\n"); > - > if (!edata->eee_enabled) > stmmac_disable_eee_mode(priv); > > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > index dd2488998993..190b74d7f4e7 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c > @@ -971,7 +971,6 @@ static void stmmac_mac_link_down(struct phylink_config *config, > > stmmac_mac_set(priv, priv->ioaddr, false); > priv->eee_active = false; > - priv->tx_lpi_enabled = false; > priv->eee_enabled = stmmac_eee_init(priv); > stmmac_set_eee_pls(priv, priv->hw, false); > > @@ -1084,7 +1083,6 @@ static void stmmac_mac_link_up(struct phylink_config *config, > if (!priv->plat->rx_clk_runs_in_lpi) > phy_eee_clk_stop_enable(phy); > priv->eee_enabled = stmmac_eee_init(priv); > - priv->tx_lpi_enabled = priv->eee_enabled; > stmmac_set_eee_pls(priv, priv->hw, true); > } > > -- > 2.40.0 > >
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h index 3d15e1e92e18..a0f6e58fc622 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h @@ -253,7 +253,6 @@ struct stmmac_priv { int eee_enabled; int eee_active; int tx_lpi_timer; - int tx_lpi_enabled; int eee_tw_timer; bool eee_sw_timer_en; unsigned int mode; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c index 35c8dd92d369..fd97cdbb6797 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c @@ -782,10 +782,7 @@ static int stmmac_ethtool_op_get_eee(struct net_device *dev, if (!priv->dma_cap.eee) return -EOPNOTSUPP; - edata->eee_enabled = priv->eee_enabled; - edata->eee_active = priv->eee_active; edata->tx_lpi_timer = priv->tx_lpi_timer; - edata->tx_lpi_enabled = priv->tx_lpi_enabled; return phylink_ethtool_get_eee(priv->phylink, edata); } @@ -799,10 +796,6 @@ static int stmmac_ethtool_op_set_eee(struct net_device *dev, if (!priv->dma_cap.eee) return -EOPNOTSUPP; - if (priv->tx_lpi_enabled != edata->tx_lpi_enabled) - netdev_warn(priv->dev, - "Setting EEE tx-lpi is not supported\n"); - if (!edata->eee_enabled) stmmac_disable_eee_mode(priv); diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index dd2488998993..190b74d7f4e7 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -971,7 +971,6 @@ static void stmmac_mac_link_down(struct phylink_config *config, stmmac_mac_set(priv, priv->ioaddr, false); priv->eee_active = false; - priv->tx_lpi_enabled = false; priv->eee_enabled = stmmac_eee_init(priv); stmmac_set_eee_pls(priv, priv->hw, false); @@ -1084,7 +1083,6 @@ static void stmmac_mac_link_up(struct phylink_config *config, if (!priv->plat->rx_clk_runs_in_lpi) phy_eee_clk_stop_enable(phy); priv->eee_enabled = stmmac_eee_init(priv); - priv->tx_lpi_enabled = priv->eee_enabled; stmmac_set_eee_pls(priv, priv->hw, true); }
phylink_ethtool_get_eee() fills in eee_enabled, eee_active and tx_lpi_enabled. So there is no need for the MAC driver to do it as well. Signed-off-by: Andrew Lunn <andrew@lunn.ch> --- drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 - drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 7 ------- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 -- 3 files changed, 10 deletions(-)