]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phy: realtek: switch from paged to MMD ops in rtl822x functions
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 13 Feb 2025 19:19:14 +0000 (20:19 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 15 Feb 2025 00:59:30 +0000 (16:59 -0800)
The MDIO bus provided by r8169 for the internal PHY's now supports
c45 ops for the MDIO_MMD_VEND2 device. So we can switch to standard
MMD ops here.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/81416f95-0fac-4225-87b4-828e3738b8ed@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/realtek/realtek_main.c

index 2e2c5353c5afd56fa358dca6577d237231333b18..34be1d752ef82e49d33a29dd8bd0ad8ee6f90b11 100644 (file)
@@ -901,7 +901,7 @@ static int rtl822x_get_features(struct phy_device *phydev)
 {
        int val;
 
-       val = phy_read_paged(phydev, 0xa61, 0x13);
+       val = phy_read_mmd(phydev, MDIO_MMD_VEND2, 0xa616);
        if (val < 0)
                return val;
 
@@ -922,10 +922,9 @@ static int rtl822x_config_aneg(struct phy_device *phydev)
        if (phydev->autoneg == AUTONEG_ENABLE) {
                u16 adv = linkmode_adv_to_mii_10gbt_adv_t(phydev->advertising);
 
-               ret = phy_modify_paged_changed(phydev, 0xa5d, 0x12,
-                                              MDIO_AN_10GBT_CTRL_ADV2_5G |
-                                              MDIO_AN_10GBT_CTRL_ADV5G,
-                                              adv);
+               ret = phy_modify_mmd_changed(phydev, MDIO_MMD_VEND2, 0xa5d4,
+                                            MDIO_AN_10GBT_CTRL_ADV2_5G |
+                                            MDIO_AN_10GBT_CTRL_ADV5G, adv);
                if (ret < 0)
                        return ret;
        }
@@ -969,7 +968,7 @@ static int rtl822x_read_status(struct phy_device *phydev)
            !phydev->autoneg_complete)
                return 0;
 
-       lpadv = phy_read_paged(phydev, 0xa5d, 0x13);
+       lpadv = phy_read_mmd(phydev, MDIO_MMD_VEND2, 0xa5d6);
        if (lpadv < 0)
                return lpadv;