[PATCH 1/3] net: stmmac: support low-speed USXGMII validation

Zhangfei Gao zhangfei.gao at oss.qualcomm.com
Thu Sep 24 03:39:47 PDT 2026


Hi, Andrew

On Wed, Sep 23, 2026 at 8:58 PM Andrew Lunn <andrew at lunn.ch> wrote:
>
> > diff --git a/drivers/net/pcs/pcs-xpcs.c b/drivers/net/pcs/pcs-xpcs.c
> > index 091c9b57388fa..58ca296fc4420 100644
> > --- a/drivers/net/pcs/pcs-xpcs.c
> > +++ b/drivers/net/pcs/pcs-xpcs.c
> > @@ -23,6 +23,12 @@ static const int xpcs_usxgmii_features[] = {
> >       ETHTOOL_LINK_MODE_Pause_BIT,
> >       ETHTOOL_LINK_MODE_Asym_Pause_BIT,
> >       ETHTOOL_LINK_MODE_Autoneg_BIT,
> > +     ETHTOOL_LINK_MODE_10baseT_Full_BIT,
> > +     ETHTOOL_LINK_MODE_100baseT_Full_BIT,
> > +     ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
> > +     ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
> > +     ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
> > +     ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
>
> What does T in 10000baseT mean?
>
> >       ETHTOOL_LINK_MODE_1000baseKX_Full_BIT,
> >       ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT,
> >       ETHTOOL_LINK_MODE_10000baseKR_Full_BIT,
>
> Compare and contract with KX.

 T denotes twisted-pair copper media, whereas KX/KR denote backplane
  Ethernet modes. USXGMII is the host-side interface between the MAC/PCS
  and the external PHY; it is not itself a media type.

  The BASE-T modes are needed here because the attached PHY reports its
  line-side capabilities as BASE-T modes, which must pass XPCS
  validation.

  How about using a separate feature table for Clause 37 USXGMII, while
  leaving the existing table unchanged?

  +static const int xpcs_c37_usxgmii_features[] = {
  +     ETHTOOL_LINK_MODE_Pause_BIT,
  +     ETHTOOL_LINK_MODE_Asym_Pause_BIT,
  +     ETHTOOL_LINK_MODE_Autoneg_BIT,
  +     ETHTOOL_LINK_MODE_10baseT_Full_BIT,
  +     ETHTOOL_LINK_MODE_100baseT_Full_BIT,
  +     ETHTOOL_LINK_MODE_1000baseT_Full_BIT,
  +     ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
  +     ETHTOOL_LINK_MODE_5000baseT_Full_BIT,
  +     ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
  +     __ETHTOOL_LINK_MODE_MASK_NBITS,
  +};

  -     .supported = xpcs_usxgmii_features,
  +     .supported = xpcs_c37_usxgmii_features,

  This keeps the capabilities of existing Clause 73 users unchanged.

Thanks



More information about the linux-arm-kernel mailing list