Re: [PATCH RFC net-next v2 1/2] net: phy: marvell: 88e1111: define gigabit features

From: Maxime Chevallier

Date: Mon Jan 19 2026 - 04:35:18 EST


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@xxxxxxxxxxx/#t