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