net: phy: Add support for resolving 5G and 2.5G autoneg
authorAndrew Lunn <andrew@lunn.ch>
Sat, 10 Nov 2018 22:43:37 +0000 (23:43 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 11 Nov 2018 18:10:02 +0000 (10:10 -0800)
Now that 2.5G and 5G can be represented in phydev->advertising and
phydev->lp_advertising, add these two links modes as possible
resolutions to auto negotiation.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy-core.c

index 6d274cdc2796b5692a020c57eada0044e0b931a5..20fbd5eb56fd03fadbddc67a33e42ea36a0eff67 100644 (file)
@@ -359,6 +359,14 @@ void phy_resolve_aneg_linkmode(struct phy_device *phydev)
        if (linkmode_test_bit(ETHTOOL_LINK_MODE_10000baseT_Full_BIT, common)) {
                phydev->speed = SPEED_10000;
                phydev->duplex = DUPLEX_FULL;
+       } else if (linkmode_test_bit(ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
+                                    common)) {
+               phydev->speed = SPEED_5000;
+               phydev->duplex = DUPLEX_FULL;
+       } else if (linkmode_test_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
+                                    common)) {
+               phydev->speed = SPEED_2500;
+               phydev->duplex = DUPLEX_FULL;
        } else if (linkmode_test_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
                                     common)) {
                phydev->speed = SPEED_1000;