net: phy: marvell: use mii_bmcr_encode_fixed()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Sat, 18 Jun 2022 10:28:42 +0000 (11:28 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Jun 2022 09:38:26 +0000 (10:38 +0100)
Make use of the newly introduced mii_bmcr_encode_fixed() to get the
BMCR value when setting loopback mode for the 88e1510.

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

index d777c8851ed690a44cdbc5205adca74fbfde128a..a714150f5e8cda1c0610b7f40b817992537e4cdd 100644 (file)
@@ -1991,15 +1991,9 @@ static int m88e1510_loopback(struct phy_device *phydev, bool enable)
        int err;
 
        if (enable) {
-               u16 bmcr_ctl = 0, mscr2_ctl = 0;
+               u16 bmcr_ctl, mscr2_ctl = 0;
 
-               if (phydev->speed == SPEED_1000)
-                       bmcr_ctl = BMCR_SPEED1000;
-               else if (phydev->speed == SPEED_100)
-                       bmcr_ctl = BMCR_SPEED100;
-
-               if (phydev->duplex == DUPLEX_FULL)
-                       bmcr_ctl |= BMCR_FULLDPLX;
+               bmcr_ctl = mii_bmcr_encode_fixed(phydev->speed, phydev->duplex);
 
                err = phy_write(phydev, MII_BMCR, bmcr_ctl);
                if (err < 0)