[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e8b4ae1d-de5b-4f6e-a94c-0e0e3a4bd643@lunn.ch>
Date: Sun, 11 Aug 2024 18:13:52 +0200
From: Andrew Lunn <andrew@...n.ch>
To: "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>
Cc: Heiner Kallweit <hkallweit1@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, netdev@...r.kernel.org,
Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH net-next v2 2/2] net: phylib: do not disable autoneg for
fixed speeds >= 1G
On Thu, Aug 08, 2024 at 12:41:22PM +0100, Russell King (Oracle) wrote:
> We have an increasing number of drivers that are forcing
> auto-negotiation to be enabled for speeds of 1G or faster.
>
> It would appear that auto-negotiation is mandatory for speeds above
> 100M. In 802.3, Annex 40C's state diagrams seems to imply that
> mr_autoneg_enable (BMCR AN ENABLE) doesn't affect whether or not the
> AN state machines work for 1000base-T, and some PHY datasheets (e.g.
> Marvell Alaska) state that disabling mr_autoneg_enable leaves AN
> enabled but forced to 1G full duplex.
>
> Other PHY datasheets imply that BMCR AN ENABLE should not be cleared
> for >= 1G.
>
> Thus, this should be handled in phylib rather than in each driver.
>
> Rather than erroring out, arrange to implement the Marvell Alaska
> solution but in software for all PHYs: generate an appropriate
> single-speed advertisement for the requested speed, and keep AN
> enabled to the PHY driver. However, to avoid userspace API breakage,
> continue to report to userspace that we have AN disabled.
>
> Signed-off-by: Russell King (Oracle) <rmk+kernel@...linux.org.uk>
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Andrew
Powered by blists - more mailing lists