[PATCH net] net: pcs: lynx: fix phylink validation regression for phy-mode = "10g-qxgmii"

Vladimir Oltean
2025-03-31T15:39:23Z

Added by commit ce312bbc2351 ("net: pcs: lynx: accept phy-mode =
"10g-qxgmii" and use in felix driver"), this mode broke when the
lynx_interfaces[] array was introduced to populate
lynx->pcs.supported_interfaces, because it is absent from there.

mscc_felix 0000:00:00.5: MAC returned PCS which does not support 10g-qxgmii
mscc_felix 0000:00:00.5: failed to validate link configuration for inband

In reality we should be querying the SerDes driver of the attached lane
to restrict which PHY modes are truly supported, but we currently lack
that infrastructure upstream, so just add 10g-qxgmii to the array.

Fixes: b0f88c1b9a53 ("net: pcs: lynx: fill in PCS supported_interfaces")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
drivers/net/pcs/pcs-lynx.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/pcs/pcs-lynx.c b/drivers/net/pcs/pcs-lynx.c
index c0238360eb40..07c570e2d7c1 100644
--- a/drivers/net/pcs/pcs-lynx.c
+++ b/drivers/net/pcs/pcs-lynx.c
@@ -536,6 +536,7 @@ static const phy_interface_t lynx_interfaces[] = {
PHY_INTERFACE_MODE_2500BASEX,
PHY_INTERFACE_MODE_10GBASER,
PHY_INTERFACE_MODE_USXGMII,
+ PHY_INTERFACE_MODE_10G_QXGMII,
};

void lynx_pcs_set_supported_interfaces(struct phylink_pcs *pcs,
--
2.34.1