This series addresses link-related issues on Wangxun Amber-lite 25G/40G NICs
(CR/KR training, hot-plug, 10G link state).
---
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.
---
v6:
- fix the apply failure.
---
v5:
- drop the UDP tunnel patch: the generic UDP tunnel flag covers any UDP
tunnel, so the tunnel type cannot be resolved from the destination port.
- P02: advertise 10G, 25G, and 40G from the requested speed mask instead
of the device ID, so the 25G and 40G parts advertise 10G by
default as well.
- P07: keep the patch limited to decoding the 10G link speed from PORTSTAT;
the AML40 default 10G|40G advertisement change is now in P02.
- P09: gate the SFP detection alarm and the AN73 watchdog on a new per-port
flag that dev_stop clears before the first cancel.
cancel SFP detection before the watchdog.
- P10: re-arm the 40G module poll only while the SFP/AN73 alarm flag is set.
- P12: treat the ffe_pre2 and bp_capa devargs as a feature rather than a fix;
drop the Fixes tags and stable Cc, and document the 25G/40G Amber-Lite
FFE defaults.
- P14: bound the AN page exchange, propagate its timeout to the watchdog
handler, and avoid register reads used only by disabled BP debug logs.
- P15: stop clearing the auto_neg devarg when a 10G-only DAC disables AN;
derive the effective AN73 state from the current module capabilities
instead. Classify 40G active cables through the optical path, unify
DAC checks on txgbe_is_dac_cable().
---
Not handled in this revision:
- P10: On AML40, the poll caches unsupported or unclassifiable modules
as unknown. A module replacement between polls without an observed
absent level therefore cannot be detected, including replacement of
an unsupported module by a supported one. An observed removal resets
the cached state and allows the next inserted module to be identified.
- P12: bp_capa and the other devargs are not range-checked yet. Input
validation for all txgbe devargs will be added in a separate change.
- P14: AN page exchange and CL72 training still run in the shared alarm
callback. A later change will move negotiation out of that callback
so that different ports can negotiate independently in parallel.
---
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 | 25 +++-
doc/guides/rel_notes/release_26_11.rst | 11 ++
drivers/net/txgbe/base/txgbe_aml.c | 9 +-
drivers/net/txgbe/base/txgbe_aml40.c | 83 ++++++++--
drivers/net/txgbe/base/txgbe_e56.c | 14 +-
drivers/net/txgbe/base/txgbe_e56.h | 6 +
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 | 200 +++++++++++++++++++++++--
drivers/net/txgbe/txgbe_ethdev.h | 2 +
drivers/net/txgbe/txgbe_rxtx.c | 1 -
17 files changed, 529 insertions(+), 132 deletions(-)
--
2.55.0.windows.2