net: sfp: add support for 25G BASE-R SFPs
authorSteen Hegelund <steen.hegelund@microchip.com>
Fri, 11 Jun 2021 12:54:52 +0000 (14:54 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Jun 2021 20:08:57 +0000 (13:08 -0700)
Add support for 25gbase-r modules. This is needed for the Sparx5 switch.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <bjarni.jonasson@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/sfp-bus.c

index e61de66..1db9cea 100644 (file)
@@ -392,6 +392,11 @@ EXPORT_SYMBOL_GPL(sfp_parse_support);
 phy_interface_t sfp_select_interface(struct sfp_bus *bus,
                                     unsigned long *link_modes)
 {
+       if (phylink_test(link_modes, 25000baseCR_Full) ||
+           phylink_test(link_modes, 25000baseKR_Full) ||
+           phylink_test(link_modes, 25000baseSR_Full))
+               return PHY_INTERFACE_MODE_25GBASER;
+
        if (phylink_test(link_modes, 10000baseCR_Full) ||
            phylink_test(link_modes, 10000baseSR_Full) ||
            phylink_test(link_modes, 10000baseLR_Full) ||