[PATCH v8 00/14] net/enetc: add new features for ENETC4 on i.MX95
Gagandeep Singh
g.singh at nxp.com
Wed Aug 12 13:33:03 CEST 2026
V8-changes:
- Fixed Warning RBMR RMW races between threads by adding lock
- Fixed `static const` arrays in `enetc.h`
- Proper pthread_mutexattr_t intialization added as suggested by AI
- VSIMSGSR stale re-read race is eliminated
V7-changes:
- added missing 14th patch.
V6-changes:
- fixed free() on memory allocated with rte_zmalloc().
- fixed eventfd and vector-list leak on interrupt teardown
- fixed Rx ring doubling still bypasses
- fixed VSI-PSI transaction issued from the interrupt handler
- fixed the free-and-reallocate of msg is unnecessary churn
- fixed unsynchronized access to tx_pause_active and RBMR
- fixed signed shift overflow in the register-dump version field
- fixed the fw_size == 0 early return reports the length of "0.0"
- unwanted blank lines removed.
- parse_txq_prior() returns updated.
V5-changes:
- Patch 1 Build fixes which includes:
'prev_seg' undeclared fixed.
redefinition of 'dev_rx_offloads_sup' fixed.
Error: duplicate rx_enable declaration fixed.
PF loses Scattered Rx and Multi-segment Tx
- mbuf leak in enetc_xmit_pkts_lso() fixed.
- fixed conversion on ENETC4_TXBD_FLAGS_F issue.
- fixed link speed decode has no upper bound.
- fixed mailbox ops added to the no-VSI ops table.
- new devargs documented.
V4-changes:
- fix doc build issue: WARNING: undefined label: pmd_build_and_test
v3-changes:
- fix doc build issue.
- fix compilation issue on fedore:43-gcc-minsize
V2-changes:
- compilation fixes.
V1-changes:
This series adds new PMD features to the ENETC4 driver targeting the
NXP i.MX95 NETC IP.
The series covers:
- KEEP_CRC Rx offload: preserve the Ethernet FCS in the receive buffer.
- TSO: TCP Segmentation Offload for the VF Tx path.
- RSC/LRO: hardware Receive Segment Coalesce for PF and VF Rx paths.
- Link speed code: extend the PF-to-VF mailbox field from 4-bit to
8-bit to support speeds beyond 10G.
- Firmware version: report the NETC IP version via fw_version_get.
- Register dump: dump SI, port (PF) and BD ring registers.
- Ring parameters: implement rxq_info_get / txq_info_get for the VF.
- Link-up interrupt: refresh the cached link speed on each VF link-up
interrupt so that link_update returns the current speed immediately.
- Stats reset: software snapshot/delta approach for VF counter reset.
- Per-queue Rx interrupt: MSI-X per-queue Rx interrupts for the VF,
enabling interrupt-driven receive with l3fwd-power.
- SI VLAN: hardware port VLAN insertion/removal for PF and VF.
- VF link status bitmask: switch VF link status to bitmask encoding
to align with the PF and newer kernel driver conventions.
- TX PAUSE: VF sets Rx congestion mode when the PF signals TX PAUSE
negotiated on the wire; adds Flow control = Y to enetc4.ini.
- WRR Tx scheduler: per-ring WRR weights via enetc4_txq_wrr devarg.
Gagandeep Singh (14):
net/enetc: add keep-CRC Rx offload for ENETC4
net/enetc: add TSO support for ENETC4 VF
net/enetc: add RSC (hardware LRO) support for ENETC4
net/enetc: extend PF-VF link speed field to 8 bits
net/enetc: support firmware version get for VF
net/enetc: support registers dump
net/enetc: support ethtool ring parameters
net/enetc: refresh link speed on VF link-up interrupt
net/enetc: support stats reset for VF
net/enetc4: add per-queue Rx interrupt support for VF
net/enetc4: add SI-based port VLAN insertion and removal
net/enetc4: update VF link status to bitmask encoding
net/enetc4: enable Tx PAUSE via VF Rx congestion mode
net/enetc4: add WRR Tx scheduler devarg for VF rings
doc/guides/nics/enetc4.rst | 100 +++
doc/guides/nics/features/enetc4.ini | 8 +
doc/guides/rel_notes/release_26_11.rst | 21 +
drivers/net/enetc/base/enetc4_hw.h | 128 +++-
drivers/net/enetc/base/enetc_hw.h | 6 +
drivers/net/enetc/enetc.h | 132 +++-
drivers/net/enetc/enetc4_ethdev.c | 454 +++++++++++--
drivers/net/enetc/enetc4_vf.c | 860 +++++++++++++++++++++----
drivers/net/enetc/enetc_rxtx.c | 530 ++++++++++++++-
9 files changed, 2062 insertions(+), 177 deletions(-)
--
2.25.1
More information about the dev
mailing list