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

From: Andrew Lunn

Date: Thu Sep 24 2026 - 10:23:45 EST


On Thu, Sep 24, 2026 at 06:39:47PM +0800, Zhangfei Gao wrote:
> Hi, Andrew
>
> On Wed, Sep 23, 2026 at 8:58 PM Andrew Lunn <andrew@xxxxxxx> 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.

Now think about why i asked. It probably means something is wrong.
But i will admit, there is a possibility i'm wrong, but you need to
first exclude all other possibilities and give a clear explanation why
i'm wrong.

The question should point you in the correct direction. You should not
do the minimum hack to make it work, you need to spend the time to
understand the architecture and find the correct way to do this.

Andrew