net: sfp: fill also 5gbase-r and 25gbase-r modes in sfp_parse_support()
authorMarek Behún <kabel@kernel.org>
Fri, 7 Oct 2022 08:48:44 +0000 (10:48 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 11 Oct 2022 01:00:29 +0000 (18:00 -0700)
Fill in also 5gbase-r and 25gbase-r PHY interface modes into the
phy_interface_t bitmap in sfp_parse_support().

Fixes: fd580c983031 ("net: sfp: augment SFP parsing with phy_interface_t bitmap")
Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/20221007084844.20352-1-kabel@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/sfp-bus.c

index 29e3fa86bac363d9bb67d33ce9c324a8207099a5..daac293e8edece7e594ca35582ff2483a817b6a3 100644 (file)
@@ -257,6 +257,7 @@ void sfp_parse_support(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
        case SFF8024_ECC_100GBASE_SR4_25GBASE_SR:
                phylink_set(modes, 100000baseSR4_Full);
                phylink_set(modes, 25000baseSR_Full);
+               __set_bit(PHY_INTERFACE_MODE_25GBASER, interfaces);
                break;
        case SFF8024_ECC_100GBASE_LR4_25GBASE_LR:
        case SFF8024_ECC_100GBASE_ER4_25GBASE_ER:
@@ -268,6 +269,7 @@ void sfp_parse_support(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
        case SFF8024_ECC_25GBASE_CR_S:
        case SFF8024_ECC_25GBASE_CR_N:
                phylink_set(modes, 25000baseCR_Full);
+               __set_bit(PHY_INTERFACE_MODE_25GBASER, interfaces);
                break;
        case SFF8024_ECC_10GBASE_T_SFI:
        case SFF8024_ECC_10GBASE_T_SR:
@@ -276,6 +278,7 @@ void sfp_parse_support(struct sfp_bus *bus, const struct sfp_eeprom_id *id,
                break;
        case SFF8024_ECC_5GBASE_T:
                phylink_set(modes, 5000baseT_Full);
+               __set_bit(PHY_INTERFACE_MODE_5GBASER, interfaces);
                break;
        case SFF8024_ECC_2_5GBASE_T:
                phylink_set(modes, 2500baseT_Full);