Message ID | 20241014060603.29878-1-SkyLake.Huang@mediatek.com (mailing list archive) |
---|---|
State | RFC |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [RFC,net-next,1/1] net: phy: Add capability to enable/disable 2.5G/5G/10G AN in ethtool | expand |
On Mon, Oct 14, 2024 at 02:06:03PM +0800, Sky Huang wrote: > From: "SkyLake.Huang" <skylake.huang@mediatek.com> > > For phy loopback test, we need to disable AN. In this way, > users can disable/enable phy AN more conveniently. Please take a look at: https://lore.kernel.org/netdev/20241013202430.93851-1-gerhard@engleder-embedded.com/T/ We need a good understanding of how 802.3 expects loopback to be used, and a commit message based on what 802.3 says. Our current understanding is that 1G and above requires auto-neg for correct operation, so we don't want to allow autoneg to be disabled in normal operation. It could be we need to special case loopback somehow. Andrew
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 14224e0..10772f8 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -1085,7 +1085,10 @@ int phy_ethtool_ksettings_set(struct phy_device *phydev, return -EINVAL; if (autoneg == AUTONEG_DISABLE && - ((speed != SPEED_1000 && + ((speed != SPEED_10000 && + speed != SPEED_5000 && + speed != SPEED_2500 && + speed != SPEED_1000 && speed != SPEED_100 && speed != SPEED_10) || (duplex != DUPLEX_HALF &&