1 From 7302d61ac5741e3e724f47ee0906db6219a50c29 Mon Sep 17 00:00:00 2001 2 From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org> 3 Date: Fri, 22 Sep 2023 15:45:23 +0200 4 Subject: [PATCH] net: sfp: add support for Xicom's XC-SFP-T copper SFP module 5 MIME-Version: 1.0 6 Content-Type: text/plain; charset=UTF-8 7 Content-Transfer-Encoding: 8bit 8 9 Add support for Xicom's XC-SFP-T copper SFP module. This module requires 10 a fixup so that the TX_FAULT signal is completely ignored via 11 state_hw_mask. 12 13 Signed-off-by: Marek BehĂșn <kabel@kernel.org> 14 --- 15 drivers/net/phy/sfp.c | 10 ++++++++++ 16 1 file changed, 10 insertions(+) 17 18 diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c 19 index 4ecfac227865..860172e3d4b7 100644 20 --- a/drivers/net/phy/sfp.c 21 +++ b/drivers/net/phy/sfp.c 22 @@ -380,6 +380,14 @@ static void sfp_fixup_halny_gsfp(struct sfp *sfp) 23 sfp->state_hw_mask &= ~(SFP_F_TX_FAULT | SFP_F_LOS); 24 } 25 26 +static void sfp_fixup_xicom(struct sfp *sfp) 27 +{ 28 + /* Ignore TX_FAULT signal on this module, it seems to be always 29 + * asserted. 30 + */ 31 + sfp->state_hw_mask &= ~SFP_F_TX_FAULT; 32 +} 33 + 34 static void sfp_fixup_rollball(struct sfp *sfp) 35 { 36 // Rollball SFPs need 25 seconds before the PHY can be accessed 37 @@ -454,6 +462,8 @@ static const struct sfp_quirk sfp_quirks[] = { 38 39 SFP_QUIRK_F("HALNy", "HL-GSFP", sfp_fixup_halny_gsfp), 40 41 + SFP_QUIRK_F("XICOM", "XC-SFP-T", sfp_fixup_xicom), 42 + 43 // HG MXPD-483II-F 2.5G supports 2500Base-X, but incorrectly reports 44 // 2600MBd in their EERPOM 45 SFP_QUIRK_M("HG GENUINE", "MXPD-483II", sfp_quirk_2500basex), 46 -- 47 2.41.0 48