[PATCH v2 00/15] Wangxun fixes and new features
From: Zaiyu Wang <hidden>
Date: 2026-09-08 12:41:03
This series addresses link-related issues on Wangxun Amber-lite 25G/40G NICs (CR/KR training, hot-plug, 10G link state), and additionally refines U
DP offload handling.
---
v2:
- add a new commit to handle 10G config on dual-speed DAC
- P02: handle TXGBE_ERR_PHY_INIT_NOT_DONE before the timeout split and leave link_valid untouched.
- P07: resolve the inner tunnel type in a local variable instead of rewriting mbuf->ol_flags.
check the rte_pktmbuf_read() result for short or mis-annotated packets.
use RTE_GENEVE_DEFAULT_PORT instead of the literal 6081.
add a Fixes: tag pointing to the commit that introduced the tunnel offload handling.
- P10: split into a bug-fix commit and a feature commit.
document both devargs in the NIC guide and the release notes.
- P11: check the acquire_swfw_sync() result and only touch I2C while the semaphore is held.
replace the magic numbers with named constants.
add the release notes entry.
- P12: drop the stray C99 comment on the AN-config flag assignment that checkpatch rejects.
- P13: reword the message to state that 40G active cables are handled through the optical path.
use txgbe_is_dac_cable() in the 40G FFE selection to match the 25G path.
---
---
Not changed in this revision:
- P11: enable_tx_laser() is not gated by laser_off. laser_off only
controls whether the Tx laser is brought down on port stop, while
enable_tx_laser() is unconditionally called from dev_start() and
dev_set_link_up() and must always bring the laser up, otherwise the
default (laser_off=0) configuration would never bring the link up.
- P11: no extra restore of PMD_CFG0 bit 1 on the DAC path. Bits 19:12
are restored by txgbe_e56_set_phy_link_mode() and
txgbe_set_link_to_amlite(); bit 1 (PMD enable) is also restored by
txgbe_e56_set_phy_link_mode(), which the xpcs AN path calls on link
up, so no additional write is required.
- P12: no total iteration bound was added to txgbe_e56_exchange_page().
The loop is bounded per page and exits when the AN FSM reaches 0x8,
so it does not hang in a normal Clause 73 flow. As this is hardware
related configuration, we leave the current behaviour unchanged for
now.
---
Zaiyu Wang (15):
net/txgbe: fix failure to configure 10G on dual-speed DAC
net/txgbe: fix e56 PHY configuration error
net/txgbe: fix incorrect link state in 10G forced mode
net/txgbe: do not force reconfig on link retry
net/txgbe: set i2c sda hold time
net/txgbe: fix link speed display info for 10G mode
net/txgbe: remove stale outer UDP checksum offload flag
net/txgbe: add offload support for tunnel type UDP
net/txgbe: fix SFP hot-plug when auto-negotiation is on
net/txgbe: fix DAC hot-plug on 40G NIC with auto-negotiation
net/txgbe: fix 40G FFE tuning applied to first lane only
net/txgbe: add pre2 and backplane capability devargs
net/txgbe: add devarg to turn off Tx laser for 40G NIC
net/txgbe: fix CR/KR link training and recovery
net/txgbe: align link capabilities and DAC classification
doc/guides/nics/txgbe.rst | 18 +++
doc/guides/rel_notes/release_26_07.rst | 8 ++
drivers/net/txgbe/base/txgbe_aml.c | 3 +-
drivers/net/txgbe/base/txgbe_aml40.c | 100 +++++++++++++--
drivers/net/txgbe/base/txgbe_e56.c | 14 +--
drivers/net/txgbe/base/txgbe_e56.h | 6 +
drivers/net/txgbe/base/txgbe_e56_bp.c | 161 +++++++++++++++----------
drivers/net/txgbe/base/txgbe_e56_bp.h | 2 +
drivers/net/txgbe/base/txgbe_hw.c | 37 ++++++
drivers/net/txgbe/base/txgbe_phy.c | 13 ++
drivers/net/txgbe/base/txgbe_phy.h | 7 ++
drivers/net/txgbe/base/txgbe_regs.h | 3 +
drivers/net/txgbe/base/txgbe_type.h | 17 ++-
drivers/net/txgbe/txgbe_ethdev.c | 120 ++++++++++++++++--
drivers/net/txgbe/txgbe_rxtx.c | 29 ++++-
15 files changed, 437 insertions(+), 101 deletions(-)
--
2.55.0.windows.2