[PATCH net-next v5 8/9] net: intel: igc: Use linkmode helpers for EEE

From: Andrew Lunn
Date: Mon Feb 26 2024 - 20:32:39 EST


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@xxxxxxxxxx>
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
---
drivers/net/ethernet/intel/igc/igc_ethtool.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c b/drivers/net/ethernet/intel/igc/igc_ethtool.c
index ac92d10a3e97..1a64f1ca6ca8 100644
--- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
+++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
@@ -1630,8 +1630,8 @@ static int igc_ethtool_get_eee(struct net_device *netdev,
u32 eeer;

if (hw->dev_spec._base.eee_enable)
- edata->advertised_u32 =
- mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert);
+ mii_eee_cap1_mod_linkmode_t(edata->advertised,
+ adapter->eee_advert);

*edata = adapter->eee;

@@ -1653,7 +1653,7 @@ static int igc_ethtool_get_eee(struct net_device *netdev,
edata->eee_enabled = false;
edata->eee_active = false;
edata->tx_lpi_enabled = false;
- edata->advertised_u32 &= ~edata->advertised_u32;
+ linkmode_zero(edata->advertised);
}

return 0;
@@ -1695,7 +1695,8 @@ static int igc_ethtool_set_eee(struct net_device *netdev,
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) {
hw->dev_spec._base.eee_enable = edata->eee_enabled;
adapter->flags |= IGC_FLAG_EEE;

--
2.43.0