net: phylink: convert phylink_mii_c22_pcs_config() to neg_mode
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 16 Jun 2023 12:06:27 +0000 (13:06 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 23 Jun 2023 02:41:01 +0000 (19:41 -0700)
Use phylink_pcs_neg_mode() for phylink_mii_c22_pcs_config(). This
results in no functional change.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/E1qA8Dj-00EaFG-Mt@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/phylink.c

index 5d8f8b84908ca04d41b1a971f8004783429a46cb..567fd22a89248259faf3e3e215306f69dceefc76 100644 (file)
@@ -3558,6 +3558,7 @@ int phylink_mii_c22_pcs_config(struct mdio_device *pcs, unsigned int mode,
                               phy_interface_t interface,
                               const unsigned long *advertising)
 {
+       unsigned int neg_mode;
        bool changed = 0;
        u16 bmcr;
        int ret, adv;
@@ -3571,15 +3572,13 @@ int phylink_mii_c22_pcs_config(struct mdio_device *pcs, unsigned int mode,
                changed = ret;
        }
 
-       /* Ensure ISOLATE bit is disabled */
-       if (mode == MLO_AN_INBAND &&
-           (interface == PHY_INTERFACE_MODE_SGMII ||
-            interface == PHY_INTERFACE_MODE_QSGMII ||
-            linkmode_test_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, advertising)))
+       neg_mode = phylink_pcs_neg_mode(mode, interface, advertising);
+       if (neg_mode == PHYLINK_PCS_NEG_INBAND_ENABLED)
                bmcr = BMCR_ANENABLE;
        else
                bmcr = 0;
 
+       /* Configure the inband state. Ensure ISOLATE bit is disabled */
        ret = mdiodev_modify(pcs, MII_BMCR, BMCR_ANENABLE | BMCR_ISOLATE, bmcr);
        if (ret < 0)
                return ret;