]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: sparx5: configure serdes for 1000BASE-X in sparx5_port_init()
authorDaniel Machon <daniel.machon@microchip.com>
Wed, 6 May 2026 07:25:39 +0000 (09:25 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 May 2026 16:08:47 +0000 (09:08 -0700)
commit41ae14071cd7f6a7770e2fe1f8a0859d4c2c6ba4
treebaf3da55b33fee0456b680154bd3a952c6d450f3
parentb131dc93f7bf1b1461f5bde0c06c4c2384aa5b58
net: sparx5: configure serdes for 1000BASE-X in sparx5_port_init()

sparx5_port_init() only invokes sparx5_serdes_set() and the associated
shadow-device enable and low-speed device switch for SGMII and QSGMII.
On any port with a high-speed primary device (DEV5G/DEV10G/DEV25G)
configured for 1000BASE-X the serdes is therefore left uninitialized,
the DEV2G5 shadow is never enabled, and the port stays pointed at its
high-speed device rather than the DEV2G5. The PCS1G block looks
healthy in isolation, but no frames reach the link partner.

Add 1000BASE-X to the check so the same three steps run.

Note: the same issue might apply to 2500BASE-X, but that will,
eventually, be addressed in a separate commit.

Reported-by: Andrew Lunn <andrew@lunn.ch>
Fixes: 946e7fd5053a ("net: sparx5: add port module support")
Signed-off-by: Daniel Machon <daniel.machon@microchip.com>
Link: https://patch.msgid.link/20260506-misc-fixes-sparx5-lan969x-v2-4-fb236aa96908@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/microchip/sparx5/sparx5_port.c