net: phy: c45: add support for EEE link partner ability 2 to genphy_c45_read_eee_lpa
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 14 Feb 2024 20:18:50 +0000 (21:18 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 17 Feb 2024 18:45:06 +0000 (18:45 +0000)
Add support for reading EEE link partner ability 2 register.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy-c45.c

index 5a245f0cc8b17e493f2e06821b2778f72945b583..b09c6baf0c087440677a9e68c42fff48e2d5049e 100644 (file)
@@ -781,6 +781,17 @@ static int genphy_c45_read_eee_lpa(struct phy_device *phydev,
                mii_eee_cap1_mod_linkmode_t(lpa, val);
        }
 
+       if (linkmode_intersects(phydev->supported_eee, PHY_EEE_CAP2_FEATURES)) {
+               /* IEEE 802.3-2022 45.2.7.17 EEE link partner ability 2
+                * (Register 7.63)
+                */
+               val = phy_read_mmd(phydev, MDIO_MMD_AN, MDIO_AN_EEE_LPABLE2);
+               if (val < 0)
+                       return val;
+
+               mii_eee_cap2_mod_linkmode_adv_t(lpa, val);
+       }
+
        if (linkmode_test_bit(ETHTOOL_LINK_MODE_10baseT1L_Full_BIT,
                              phydev->supported_eee)) {
                /* IEEE 802.3cg-2019 45.2.7.26 10BASE-T1 AN status register