drivers/net/pcs/pcs-lynx.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
From: Vincent Jardin <vjardin@free.fr>
The 25G is missing since commit 1cab8fba5073 ("phy: lynx-28g: add
support for 25GBASER").
Signed-off-by: Vincent Jardin <vjardin@free.fr>
---
RFC to check if we apply NXP's intend.
---
drivers/net/pcs/pcs-lynx.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/pcs/pcs-lynx.c b/drivers/net/pcs/pcs-lynx.c
index a92081560e641..da4f99059eef7 100644
--- a/drivers/net/pcs/pcs-lynx.c
+++ b/drivers/net/pcs/pcs-lynx.c
@@ -46,6 +46,7 @@ static unsigned int lynx_pcs_inband_caps(struct phylink_pcs *pcs,
return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE;
case PHY_INTERFACE_MODE_10GBASER:
+ case PHY_INTERFACE_MODE_25GBASER:
return LINK_INBAND_DISABLE;
case PHY_INTERFACE_MODE_USXGMII:
@@ -97,6 +98,7 @@ static void lynx_pcs_get_state(struct phylink_pcs *pcs, unsigned int neg_mode,
lynx_pcs_get_state_usxgmii(lynx->mdio, state);
break;
case PHY_INTERFACE_MODE_10GBASER:
+ case PHY_INTERFACE_MODE_25GBASER:
phylink_mii_c45_pcs_get_state(lynx->mdio, state);
break;
default:
@@ -188,7 +190,8 @@ static int lynx_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
return lynx_pcs_config_usxgmii(lynx->mdio, ifmode, advertising,
neg_mode);
case PHY_INTERFACE_MODE_10GBASER:
- /* Nothing to do here for 10GBASER */
+ case PHY_INTERFACE_MODE_25GBASER:
+ /* Nothing to do here for 10GBASER and 25GBASER */
break;
default:
return -EOPNOTSUPP;
@@ -279,6 +282,7 @@ static const phy_interface_t lynx_interfaces[] = {
PHY_INTERFACE_MODE_1000BASEX,
PHY_INTERFACE_MODE_2500BASEX,
PHY_INTERFACE_MODE_10GBASER,
+ PHY_INTERFACE_MODE_25GBASER,
PHY_INTERFACE_MODE_USXGMII,
PHY_INTERFACE_MODE_10G_QXGMII,
};
---
base-commit: 66498c75b4f8017f62d720d9b59675bdf3abce91
change-id: 20260825-for-upstream-lynx-25gbaser-v1-30097d909d09
Best regards,
--
Vincent Jardin <vjardin@free.fr>
On Tue, Aug 25, 2026 at 04:00:31PM +0200, Vincent Jardin via B4 Relay wrote:
> From: Vincent Jardin <vjardin@free.fr>
>
> The 25G is missing since commit 1cab8fba5073 ("phy: lynx-28g: add
> support for 25GBASER").
>
This could lead me to believe that the 25G support was ok before the
mentioned commit, which is not true. Can you please rephrase the commit
message so that it's clear that you are actually adding the 25G support
in the Lynx PCS and not fixing up any issue?
> Signed-off-by: Vincent Jardin <vjardin@free.fr>
> ---
> RFC to check if we apply NXP's intend.
And also because net-next is closed for the moment.
> ---
> drivers/net/pcs/pcs-lynx.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/pcs/pcs-lynx.c b/drivers/net/pcs/pcs-lynx.c
> index a92081560e641..da4f99059eef7 100644
> --- a/drivers/net/pcs/pcs-lynx.c
> +++ b/drivers/net/pcs/pcs-lynx.c
> @@ -46,6 +46,7 @@ static unsigned int lynx_pcs_inband_caps(struct phylink_pcs *pcs,
> return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE;
>
> case PHY_INTERFACE_MODE_10GBASER:
> + case PHY_INTERFACE_MODE_25GBASER:
> return LINK_INBAND_DISABLE;
>
> case PHY_INTERFACE_MODE_USXGMII:
> @@ -97,6 +98,7 @@ static void lynx_pcs_get_state(struct phylink_pcs *pcs, unsigned int neg_mode,
> lynx_pcs_get_state_usxgmii(lynx->mdio, state);
> break;
> case PHY_INTERFACE_MODE_10GBASER:
> + case PHY_INTERFACE_MODE_25GBASER:
> phylink_mii_c45_pcs_get_state(lynx->mdio, state);
You also need to update the phylink_mii_c45_pcs_get_state() helper so
that it treats the PHY_INTERFACE_MODE_25GBASER case, otherwise the
link up print looks something like:
fsl_dpaa2_eth dpni.2 endpmac5: Link is Up - Unknown/Unknown - flow control off
The following patch should be submitted alonside these PCS changes:
https://github.com/nxp-qoriq/linux/commit/23ab48259b12cbf8d09ea6a99f66fda01d67536a
Ioana
© 2016 - 2026 Red Hat, Inc.