net: phy: c45: use cached EEE advertisement in genphy_c45_ethtool_get_eee
authorHeiner Kallweit <hkallweit1@gmail.com>
Sun, 16 Feb 2025 21:19:23 +0000 (22:19 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 19 Feb 2025 02:07:09 +0000 (18:07 -0800)
Now that disabled EEE modes are considered when populating
advertising_eee, we can use this bitmap here instead of reading
the PHY register.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/e57ed3d4-d0bc-4f91-83f6-8f48dfb6d7d7@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/phy-c45.c

index b19055cfced047ad249689b33fc4517ee03a3abb..fed5fb0ef321e7eb8d762d5d3439630d649732c4 100644 (file)
@@ -1516,14 +1516,14 @@ int genphy_c45_ethtool_get_eee(struct phy_device *phydev,
 {
        int ret;
 
-       ret = genphy_c45_eee_is_active(phydev, data->advertised,
-                                      data->lp_advertised);
+       ret = genphy_c45_eee_is_active(phydev, NULL, data->lp_advertised);
        if (ret < 0)
                return ret;
 
        data->eee_active = phydev->eee_active;
        linkmode_andnot(data->supported, phydev->supported_eee,
                        phydev->eee_disabled_modes);
+       linkmode_copy(data->advertised, phydev->advertising_eee);
        return 0;
 }
 EXPORT_SYMBOL(genphy_c45_ethtool_get_eee);