1

net: intel: igc: Use linkmode helpers for EEE

Make use of the existing linkmode helpers for converting PHY EEE
register values into links modes, now that ethtool_keee uses link
modes, rather than u32 values.

Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Andrew Lunn 2024-02-26 19:29:14 -06:00 committed by David S. Miller
parent 41b9797de4
commit 1e45b5f28a

View File

@ -1630,8 +1630,8 @@ static int igc_ethtool_get_eee(struct net_device *netdev,
u32 eeer; u32 eeer;
if (hw->dev_spec._base.eee_enable) if (hw->dev_spec._base.eee_enable)
edata->advertised_u32 = mii_eee_cap1_mod_linkmode_t(edata->advertised,
mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert); adapter->eee_advert);
*edata = adapter->eee; *edata = adapter->eee;
@ -1653,7 +1653,7 @@ static int igc_ethtool_get_eee(struct net_device *netdev,
edata->eee_enabled = false; edata->eee_enabled = false;
edata->eee_active = false; edata->eee_active = false;
edata->tx_lpi_enabled = false; edata->tx_lpi_enabled = false;
edata->advertised_u32 &= ~edata->advertised_u32; linkmode_zero(edata->advertised);
} }
return 0; return 0;
@ -1695,7 +1695,8 @@ static int igc_ethtool_set_eee(struct net_device *netdev,
return -EINVAL; return -EINVAL;
} }
adapter->eee_advert = ethtool_adv_to_mmd_eee_adv_t(edata->advertised_u32); adapter->eee_advert = linkmode_to_mii_eee_cap1_t(edata->advertised);
if (hw->dev_spec._base.eee_enable != edata->eee_enabled) { if (hw->dev_spec._base.eee_enable != edata->eee_enabled) {
hw->dev_spec._base.eee_enable = edata->eee_enabled; hw->dev_spec._base.eee_enable = edata->eee_enabled;
adapter->flags |= IGC_FLAG_EEE; adapter->flags |= IGC_FLAG_EEE;