Re: [PATCH 1/3] net: stmmac: support low-speed USXGMII validation
From: Zhangfei Gao <hidden>
Date: 2026-09-24 10:40:09
Also in:
linux-arm-kernel, lkml
Hi, Andrew On Wed, Sep 23, 2026 at 8:58 PM Andrew Lunn [off-list ref] wrote:
quoted
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?quoted
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