This series addresses link-related issues on Wangxun Amber-lite 25G/40G NICs
(CR/KR training, hot-plug, 10G link state).
---
v9:
- P02: build autoneg_advertised from one mask instead of three ifs, and
drop the out-of-tree reference from the message.
- P03: fix the same wrong RXS field in txgbe_e56_cfg_10g(), and add the
Fixes tag for the 25G commit that introduced that copy.
- P10: report module removal and cancel the AN73 watchdog only on the
transition to not-present, so an empty cage no longer repeats both
on every poll.
- P12: reset invalid bp_capa values to 0, log AML40 ffe_* values above
0xFF before their low bytes are replicated across the four lanes,
and document the applicable FFE value range.
- P13: clarify that laser_off disables the E56 PHY PMD through PMD_CFG0
for DAC cables, while QSFP modules use the SFF-8636 Tx-disable byte.
- P15: rewrite the unknown-module comment, drop the debug print that ran
on every watchdog tick, and drop a commit-message bullet for a branch
that is not in the parent tree.
- P16: clear TXGBE_FLAG_NEED_LINK_CONFIG before the administrative-down
early return, so a 25G SFP port can recover after set_link_down() and
set_link_up().
Not handled in this revision:
- P12: Range validation currently covers only bp_capa and the AML40 FFE
values. Consistent validation for all txgbe devargs will be added in
a follow-up after the ongoing community work on the common devarg
parsing and validation functions is finalized.
- P13: keep the laser_off devarg. On AML40, forcing physical loss of signal
is a stronger operation than an administrative link-down. Bringing the
link back up then requires complete PHY configuration and restarts AN73
negotiation (if auto neg on). This has a visible link recovery cost on
high-speed ports.
The default laser_off=0 preserves the existing behavior and link
stability for users that only need local link-down. Deployments which
need the peer to observe loss of signal, for example for peer-side
link-state tracking, can explicitly enable laser_off=1.
---
v8:
- P05: keep a retry from reconfiguring an established AN73 link, while
still restarting PHY configuration when the link is down or AN is
incomplete.
- P10: on AML40, mark unsupported and unclassifiable QSFP modules as
unknown so the module poll does not repeatedly identify them or
rerun module and link setup.
- P12: place the txgbe release-note entries between the Solarflare and
ZTE driver entries.
- P13: rerun complete AML40 link setup on set_link_up() with laser_off
enabled, restoring the DAC configuration without adding a separate
state flag.
- P14: correct the AN FSM condition described in the commit message
and remove the stray line after the Signed-off-by trailer.
- P15: assign the detected 10G speed for passive and active-limiting
DACs, and remove the unreachable AML40 10G SFP capability branch.
- P16: add a new patch to keep Amber-Lite ports administratively down
by preventing the AN73 watchdog and setup-link retry paths from
configuring PHY while hw->dev_start is cleared.
---
v7:
- P14: fix a TRAINING log-string typo.
move the variable declarations in txgbe_e56_get_txffe().
clarify the comment of page-exchange timeout budget.
---
Zaiyu Wang (16):
net/txgbe: fix failure to configure 10G on dual-speed DAC
net/txgbe: use the requested speed in E56 AN setup
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: 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 FFE tap 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
net/txgbe: respect manual link-down on Amber-Lite
doc/guides/nics/txgbe.rst | 32 +++-
doc/guides/rel_notes/release_26_11.rst | 12 ++
drivers/net/txgbe/base/txgbe_aml.c | 9 +-
drivers/net/txgbe/base/txgbe_aml40.c | 78 +++++++--
drivers/net/txgbe/base/txgbe_e56.c | 16 +-
drivers/net/txgbe/base/txgbe_e56.h | 4 +
drivers/net/txgbe/base/txgbe_e56_bp.c | 196 +++++++++++++---------
drivers/net/txgbe/base/txgbe_e56_bp.h | 4 +-
drivers/net/txgbe/base/txgbe_hw.c | 33 ++++
drivers/net/txgbe/base/txgbe_osdep.h | 12 +-
drivers/net/txgbe/base/txgbe_phy.c | 38 ++++-
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 | 220 +++++++++++++++++++++++--
drivers/net/txgbe/txgbe_ethdev.h | 2 +
drivers/net/txgbe/txgbe_rxtx.c | 1 -
17 files changed, 549 insertions(+), 135 deletions(-)
--
2.55.0.windows.2