[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b8cafe50-c87b-4bd4-a47e-d11c11c16f7c@bootlin.com>
Date: Mon, 19 Jan 2026 10:27:52 +0100
From: Maxime Chevallier <maxime.chevallier@...tlin.com>
To: "Russell King (Oracle)" <linux@...linux.org.uk>,
Josua Mayer <josua@...id-run.com>
Cc: Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH RFC net-next v2 1/2] net: phy: marvell: 88e1111: define
gigabit features
Hi Russell, Josua,
On 02/01/2026 13:47, Russell King (Oracle) wrote:
> If the operational mode of the PHY is reconfigured at runtime, then I
> think it would be reasonable to re-read the supported linkmodes.
> However, I think this will cause issues for phylink, as currently it
> wants to know the link modes that are supported so it can choose an
> appropriate interface mode.
Russell, I agree that your patches for phydev->supported_interfaces
are required, but I also think we need another piece of the puzzle to
solve Josua's issue.
>From what I get, it's impossible from the PHY driver's perspective only,
to know which configuration the PHY is in, i.e. is it in :
1000X to 1000T
SGMII to 1000T
SGMII to something else ?
This is one of the issues I was facing with the SGMII to 100FX adapters.
Selecting the right phy_interface, is one thing, but it doesn't address
the fact that whe don't know which linkmodes to put in phydev->supported.
The approach I took to address that is in patch 3 of this series [1] :
- The SFP's eeprom should ideally store information about the MDI of the
module, is it outputing fiber at 1G, at 100M, is it BaseT, etc.
- in sfp_sm_probe_phy(), we have the sfp_module_caps fully parsed, with
fixups and quirks applied, so what I do is store a pointer to those in
struct phy_device
- The PHY driver can then use that in its .get_features() to report the
proper linkmodes.
Of course, this may not be the right approach. What do we trust more, the SFP
eeprom, or the PHY's reported linkmodes through features discovery ?
IMO relying on the SFP subsystem to build a proper list of linkmodes we can
achieve on the module is a bit better, as we have the opportunity to apply
fixups and quirks.
Maxime
[1] : https://lore.kernel.org/all/20260114225731.811993-1-maxime.chevallier@bootlin.com/#t
Powered by blists - more mailing lists