[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5e573c7e-234c-4947-9e61-541d22167fea@solid-run.com>
Date: Sun, 13 Jul 2025 15:02:32 +0000
From: Josua Mayer <josua@...id-run.com>
To: "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>, Andrew Lunn
<andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>
CC: Ioana Ciornei <ioana.ciornei@....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"
<netdev@...r.kernel.org>, Jon Nettleton <jon@...id-run.com>, Rabeeh Khoury
<rabeeh@...id-run.com>, Yazan Shhady <yazan.shhady@...id-run.com>
Subject: Re: [PATCH net-next 1/3] net: pcs: pcs-lynx: implement
pcs_inband_caps() method
On 05/12/2024 11:42, Russell King (Oracle) wrote:
> Report the PCS in-band capabilities to phylink for the Lynx PCS.
>
> Reviewed-by: Maxime Chevallier <maxime.chevallier@...tlin.com>
> Signed-off-by: Russell King (Oracle) <rmk+kernel@...linux.org.uk>
> ---
> drivers/net/pcs/pcs-lynx.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/drivers/net/pcs/pcs-lynx.c b/drivers/net/pcs/pcs-lynx.c
> index b79aedad855b..767a8c0714ac 100644
> --- a/drivers/net/pcs/pcs-lynx.c
> +++ b/drivers/net/pcs/pcs-lynx.c
> @@ -35,6 +35,27 @@ enum sgmii_speed {
> #define phylink_pcs_to_lynx(pl_pcs) container_of((pl_pcs), struct lynx_pcs, pcs)
> #define lynx_to_phylink_pcs(lynx) (&(lynx)->pcs)
>
> +static unsigned int lynx_pcs_inband_caps(struct phylink_pcs *pcs,
> + phy_interface_t interface)
> +{
> + switch (interface) {
> + case PHY_INTERFACE_MODE_1000BASEX:
> + case PHY_INTERFACE_MODE_SGMII:
> + case PHY_INTERFACE_MODE_QSGMII:
> + return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE;
> +
> + case PHY_INTERFACE_MODE_10GBASER:
> + case PHY_INTERFACE_MODE_2500BASEX:
> + return LINK_INBAND_DISABLE;
> +
> + case PHY_INTERFACE_MODE_USXGMII:
> + return LINK_INBAND_ENABLE;
> +
> + default:
> + return 0;
> + }
> +}
> +
> static void lynx_pcs_get_state_usxgmii(struct mdio_device *pcs,
> struct phylink_link_state *state)
> {
> @@ -306,6 +327,7 @@ static void lynx_pcs_link_up(struct phylink_pcs *pcs, unsigned int neg_mode,
> }
>
> static const struct phylink_pcs_ops lynx_pcs_phylink_ops = {
> + .pcs_inband_caps = lynx_pcs_inband_caps,
> .pcs_get_state = lynx_pcs_get_state,
> .pcs_config = lynx_pcs_config,
> .pcs_an_restart = lynx_pcs_an_restart,
I have noticed a regression on LX2160 Honeycomb and LX2162 Clearfog,
between v6.13 and v6.14: When connecting 10G fiber SFP, there are
kernel errors and no link-up:
ifconfig eth1 up
[ 27.649571] fsl_dpaa2_eth dpni.10 eth1: configuring for
inband/10gbase-r link mode
[ 45.642936] sfp sfp-ab: module FS SFPP-AO02 rev A sn
C2405395582-2 dc 240517
[ 45.652543] fsl_dpaa2_eth dpni.10 eth1: autoneg setting not
compatible with PCS
Apparently the system starts with AN at 10G, while the pcs-lynx driver
reports AN disabled.
Then we receive the error message above.
I don't quite understand what is going wrong here - why the system tries
to enable AN
in the first place after inserting SFP ... any ideas?
Powered by blists - more mailing lists