net: pcs: pcs-xpcs: use mii_bmcr_encode_fixed()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Sat, 18 Jun 2022 10:28:47 +0000 (11:28 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Jun 2022 09:38:26 +0000 (10:38 +0100)
Use the newly introduced mii_bmcr_encode_fixed() for the xpcs driver.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/pcs/pcs-xpcs.c

index a5d520e..ab0af1d 100644 (file)
@@ -1081,23 +1081,7 @@ static void xpcs_link_up_sgmii(struct dw_xpcs *xpcs, unsigned int mode,
        if (phylink_autoneg_inband(mode))
                return;
 
-       switch (speed) {
-       case SPEED_1000:
-               val = BMCR_SPEED1000;
-               break;
-       case SPEED_100:
-               val = BMCR_SPEED100;
-               break;
-       case SPEED_10:
-               val = BMCR_SPEED10;
-               break;
-       default:
-               return;
-       }
-
-       if (duplex == DUPLEX_FULL)
-               val |= BMCR_FULLDPLX;
-
+       val = mii_bmcr_encode_fixed(speed, duplex);
        ret = xpcs_write(xpcs, MDIO_MMD_VEND2, MDIO_CTRL1, val);
        if (ret)
                pr_err("%s: xpcs_write returned %pe\n", __func__, ERR_PTR(ret));