[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241107082604.3cf95e9d@kernel.org>
Date: Thu, 7 Nov 2024 08:26:04 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>,
Russell King <linux@...linux.org.uk>
Cc: Romain Gantois <romain.gantois@...tlin.com>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Paolo Abeni
<pabeni@...hat.com>, Dan Murphy <dmurphy@...com>, Florian Fainelli
<f.fainelli@...il.com>, Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Maxime Chevallier <maxime.chevallier@...tlin.com>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH net v2] net: phy: dp83869: fix status reporting for
1000base-x autonegotiation
On Mon, 04 Nov 2024 09:52:32 +0100 Romain Gantois wrote:
> The DP83869 PHY transceiver supports converting from RGMII to 1000base-x.
> In this operation mode, autonegotiation can be performed, as described in
> IEEE802.3.
>
> The DP83869 has a set of fiber-specific registers located at offset 0xc00.
> When the transceiver is configured in RGMII-to-1000base-x mode, these
> registers are mapped onto offset 0, which should, in theory, make reading
> the autonegotiation status transparent.
>
> However, the fiber registers at offset 0xc04 and 0xc05 do not follow the
> bit layout of their standard counterparts. Thus, genphy_read_status()
> doesn't properly read the capabilities advertised by the link partner,
> resulting in incorrect link parameters.
>
> Similarly, genphy_config_aneg() doesn't properly write advertised
> capabilities.
>
> Fix the 1000base-x autonegotiation procedure by replacing
> genphy_read_status() and genphy_config_aneg() with driver-specific
> functions which take into account the nonstandard bit layout of the DP83869
> registers in 1000base-x mode.
Could we get an ack from PHY maintainers?
Powered by blists - more mailing lists