net: sfp: add quirk for FS SFP-10GM-T copper SFP+ module
authorMartin Schiller <ms@dev.tdt.de>
Thu, 27 Feb 2025 07:10:58 +0000 (08:10 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 4 Mar 2025 01:22:03 +0000 (17:22 -0800)
Add quirk for a copper SFP that identifies itself as "FS" "SFP-10GM-T".
It uses RollBall protocol to talk to the PHY and needs 4 sec wait before
probing the PHY.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://patch.msgid.link/20250227071058.1520027-1-ms@dev.tdt.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/sfp.c

index 9369f5297769493efcab0ed4c356245baa1aa248..c88217af44a1448e8af817bbf5d8683ec7ecdcd1 100644 (file)
@@ -385,7 +385,7 @@ static void sfp_fixup_rollball(struct sfp *sfp)
        sfp->phy_t_retry = msecs_to_jiffies(1000);
 }
 
-static void sfp_fixup_fs_2_5gt(struct sfp *sfp)
+static void sfp_fixup_rollball_wait4s(struct sfp *sfp)
 {
        sfp_fixup_rollball(sfp);
 
@@ -399,7 +399,7 @@ static void sfp_fixup_fs_2_5gt(struct sfp *sfp)
 static void sfp_fixup_fs_10gt(struct sfp *sfp)
 {
        sfp_fixup_10gbaset_30m(sfp);
-       sfp_fixup_fs_2_5gt(sfp);
+       sfp_fixup_rollball_wait4s(sfp);
 }
 
 static void sfp_fixup_halny_gsfp(struct sfp *sfp)
@@ -479,9 +479,10 @@ static const struct sfp_quirk sfp_quirks[] = {
        // PHY.
        SFP_QUIRK_F("FS", "SFP-10G-T", sfp_fixup_fs_10gt),
 
-       // Fiberstore SFP-2.5G-T uses Rollball protocol to talk to the PHY and
-       // needs 4 sec wait before probing the PHY.
-       SFP_QUIRK_F("FS", "SFP-2.5G-T", sfp_fixup_fs_2_5gt),
+       // Fiberstore SFP-2.5G-T and SFP-10GM-T uses Rollball protocol to talk
+       // to the PHY and needs 4 sec wait before probing the PHY.
+       SFP_QUIRK_F("FS", "SFP-2.5G-T", sfp_fixup_rollball_wait4s),
+       SFP_QUIRK_F("FS", "SFP-10GM-T", sfp_fixup_rollball_wait4s),
 
        // Fiberstore GPON-ONU-34-20BI can operate at 2500base-X, but report 1.2GBd
        // NRZ in their EEPROM