source of highlighter
plain | download
    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