Pull Request - lan743x driver commits for 6.17 HWE#413
Conversation
Wire phylink_ethtool_nway_reset() as the .nway_reset ethtool operation, allowing userspace to restart PHY autonegotiation via 'ethtool -r'. Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de> Reviewed-by: Russel King (Oracle) <rmk+kernel@armlinux.org.uk> Link: https://patch.msgid.link/20260223085442.42852-1-nb@tipi-net.de Signed-off-by: Paolo Abeni <pabeni@redhat.com> (cherry picked from commit 8636385) Signed-off-by: David Thompson <davthompson@nvidia.com>
A warm reset on boards using an EEPROM-only strap configuration (where no MAC address is set in the image) can cause the driver to incorrectly revert to RGMII mode. This occurs because the ENET_CONFIG_LOAD_STARTED bit may not persist or behave as expected. Update pci11x1x_strap_get_status() to use revision-specific validation: - For PCI11x1x A0: Continue using the legacy check (config load started or reset protection) to validate the SGMII strap. - For PCI11x1x B0 and later: Use the newly available STRAP_READ_USE_SGMII_EN_ bit in the upper strap register to validate the lower SGMII_EN bit. This ensures the SGMII interface is correctly identified even after a warm reboot. Signed-off-by: Thangaraj Samynathan <thangaraj.s@microchip.com> Link: https://patch.msgid.link/20260318063228.17110-1-thangaraj.s@microchip.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> (cherry picked from commit e783e40) Signed-off-by: David Thompson <davthompson@nvidia.com>
The driver does not explicitly configure the MAC duplex mode when bringing the link up. As a result, the MAC may retain a stale duplex setting from a previous link state, leading to duplex mismatches with the link partner and degraded network performance. Update lan743x_phylink_mac_link_up() to set or clear the MAC_CR_DPX_ bit according to the negotiated duplex mode. This ensures the MAC configuration is consistent with the phylink resolved state. Fixes: a5f199a ("net: lan743x: Migrate phylib to phylink") Signed-off-by: Thangaraj Samynathan <thangaraj.s@microchip.com> Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Link: https://patch.msgid.link/20260323065345.144915-1-thangaraj.s@microchip.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> (cherry picked from commit 7139970) Signed-off-by: David Thompson <davthompson@nvidia.com>
The variable chip_rev stores the value read from the FPGA_REV register and represents the FPGA revision. Rename it to fpga_rev to better reflect its meaning. No functional change intended. Signed-off-by: Thangaraj Samynathan <thangaraj.s@microchip.com> Link: https://patch.msgid.link/20260410085710.9246-1-thangaraj.s@microchip.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> (cherry picked from commit 469faa5) Signed-off-by: David Thompson <davthompson@nvidia.com>
PR Validation ReportPatchscan ✅ No Missing FixesAll cherry-picked commits checked — no missing upstream fixes found. PR Lint
|
|
No issues with the backports.
|
|
@dthompso I see 3 of the 4 patches are from v7.1 upstream, which means they will not be present in our 7.0 kernels. Can you also submit PRs for those 3 against 26.04_linux-nvidia and 26.04_linux-nvidia-bos ? These 3 patches are from v7.1: |
|
@dthompso |
I will work on PRs for those other two branches, sure. Two questions about BugLink usage:
|
The hardware designs based on BF4 (Grace) utilize the Microchip LAN743x device for out-of-band Ethernet. There is no NVBUG for this issue, but an associated Redmine is: https://redmine.mellanox.com/issues/4990005 |
No, we will handle that when the PR is merged.
Yes, please do. |
|
|
These four upstream patches provide fixes to the Microchip lan743x driver,
plus add capability for using "ethtool -r" to restart autonegotiation on
the interface.
469faa5 net: lan743x: rename chip_rev to fpga_rev
7139970 net: lan743x: fix duplex configuration in mac_link_up
e783e40 net: lan743x: fix SGMII detection on PCI1xxxx B0+ during warm reset
8636385 net: microchip: lan743x: add ethtool nway_reset support
These patches picked clean and were tested on BlueField-4 hardware,
which uses the board-level Microchip LAN743x device.
LP: https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-6.17/+bug/2152064