> -----Original Message-----
> From: Thomas Monjalon <tho...@monjalon.net>
> Sent: Wednesday, April 13, 2022 10:21 PM
> To: dev@dpdk.org
> Cc: Stephen Douthit <steph...@silicom-usa.com>; Jeff Daly <jeffd@silicom-
> usa.com>; Wang, Haiyue <haiyue.w...@intel.com>; Yang, Qiming
> <qiming.y...@intel.com>; Wu, Wenjun1 <wenjun1...@intel.com>
> Subject: Re: [PATCH] net/ixgbe: Treat 1G Cu SFPs as 1G SX on the X550 devices
>
> Please, could we have a review of this patch?
> +Cc new ixgbe maintainers
>
>
> 07/03/2022 23:34, je...@silicom-usa.com:
> > From: Stephen Douthit <steph...@silicom-usa.com>
> >
> > 1G Cu SFPs are not officially supported on the X552/X553 family of
> > devices but treat them as 1G SX modules since they usually work.
> > Print a warning though since support isn't validated, similar to what
> > already happens for other unofficially supported SFPs enabled via the
> > allow_unsupported_sfps parameter inherited from the mainline Linux driver.
> >
> > Signed-off-by: Stephen Douthit <steph...@silicom-usa.com>
> > Signed-off-by: Jeff Daly <je...@silicom-usa.com>
I think we need a devargs for this feature with well documentation
So, it should not break existing behavior by default, but allow people to take
risk if they know what they are doing.
Thanks
Qi
> > ---
> > drivers/net/ixgbe/base/ixgbe_x550.c | 14 +++++++++++++-
> > 1 file changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ixgbe/base/ixgbe_x550.c
> > b/drivers/net/ixgbe/base/ixgbe_x550.c
> > index 8810d1658e..8d1bc6c80d 100644
> > --- a/drivers/net/ixgbe/base/ixgbe_x550.c
> > +++ b/drivers/net/ixgbe/base/ixgbe_x550.c
> > @@ -1538,9 +1538,21 @@ STATIC s32
> ixgbe_supported_sfp_modules_X550em(struct ixgbe_hw *hw, bool *linear)
> > case ixgbe_sfp_type_1g_lha_core1:
> > *linear = false;
> > break;
> > - case ixgbe_sfp_type_unknown:
> > + /* Copper SFPs are not officially supported for x550em devices, but can
> > + * often be made to work at fixed 1G speeds. Pretend they're 1g_sx
> > + * modules here to allow g.Fast DSL SFPs to work.
> > + */
> > case ixgbe_sfp_type_1g_cu_core0:
> > + EWARN(hw, "Pretending that unsupported 1g_cu SFP is
> 1g_sx\n");
> > + *linear = false;
> > + hw->phy.sfp_type = ixgbe_sfp_type_1g_sx_core0;
> > + break;
> > case ixgbe_sfp_type_1g_cu_core1:
> > + EWARN(hw, "Pretending that unsupported 1g_cu SFP is
> 1g_sx\n");
> > + *linear = false;
> > + hw->phy.sfp_type = ixgbe_sfp_type_1g_sx_core1;
> > + break;
> > + case ixgbe_sfp_type_unknown:
> > default:
> > return IXGBE_ERR_SFP_NOT_SUPPORTED;
> > }
>
>
>
>
>