From: Jie Liu <[email protected]> This series updates the SXE2 poll mode driver (drivers/net/sxe2) and its common library (drivers/common/sxe2), fixing issues found in the previous version and re-aligning the driver with the reference implementation.
Changes since v6: - drop the now-trivial sxe2_vsi_node_free() helper and inline rte_free() at its call sites - unify the duplicated FNAV/ACL COUNT action arms in the flow parser - use a file-scope static const ops table for the vectorized Tx path and fail sxe2_tx_queues_vec_prepare() on a NULL txq - split "unify vectorized Tx buffer handling" into three commits: the buffer_ring union fix, the NEON Tx 4-wide descriptor fill, and the NEON Rx ptype/memory-ordering fixes - use the primary VSI id directly for representors (the kernel guarantees it is always valid) - drop the packed/aligned attributes from the TM command message structs to match the historical kernel layout - fix VEC mode selection in the Tx/Rx mode set functions - clean up commit messages (headline case/length, missing Fixes tags) Signed-off-by: Jie Liu <[email protected]> Jie Liu (47): common/sxe2: fix null pointer in class driver remove common/sxe2: allow munmap during kernel reset net/sxe2: fix VF PCI device ID net/sxe2: fix MSIX register width in PF map table net/sxe2: restore PF and port index caps assignment net/sxe2: fix VSI lifecycle management net/sxe2: initialize stats in representor device init net/sxe2: use base device name for representor naming net/sxe2: propagate LSC event to VF representors net/sxe2: clear security context pointer on uninit net/sxe2: rename representor VSI ID fields net/sxe2: clean up duplicate function declarations net/sxe2: fix null VSI dereference in device info net/sxe2: fill MAC addresses in device info net/sxe2: fix QinQ and RSS offload capability report net/sxe2: use regular write for mapped registers net/sxe2: move PCI register read macro to common header net/sxe2: validate PCI map resource type net/sxe2: guard PCI BAR unmap when not initialized net/sxe2: fix null dereference in dev uninit net/sxe2: fix duplicated cleanup in dev close net/sxe2: align dev init and cleanup order net/sxe2: simplify switchdev representor matching net/sxe2: rename fnav cid manager symbols to flow net/sxe2: move tunnel port helpers into flow module net/sxe2: add ACL engine event statistics support net/sxe2: refactor primary process MP message handling net/sxe2: refactor Tx queue reset operations net/sxe2: unify vectorized Tx buffer handling net/sxe2: optimize NEON Tx descriptor fill net/sxe2: fix NEON Rx ptype mapping and memory ordering net/sxe2: refine vectorized Tx/Rx mode setup net/sxe2: fix RSS action attribute validation net/sxe2: restore PF-only guard in UDP tunnel port add net/sxe2: restore link update call in status query net/sxe2: validate representor ID against VF count net/sxe2: use primary VSI ID for representor VSI net/sxe2: wrap command params fill debug log in macro net/sxe2: restore Rx queue buffer split fill support net/sxe2: skip tunnel config fill on get failure net/sxe2: skip flow ID assignment on filter add failure net/sxe2: correct command channel log messages net/sxe2: align command structs with kernel layout common/sxe2: fix ioctl channel log and close handling doc/sxe2: remove drv-SW-stats parameter documentation net/sxe2: remove ineffective representor queue counts net/sxe2: fix VEC mode selection in mode set functions doc/guides/nics/sxe2.rst | 40 ++-- drivers/common/sxe2/sxe2_common.c | 6 +- drivers/common/sxe2/sxe2_ioctl_chnl.c | 21 +- drivers/net/sxe2/sxe2_cmd_chnl.c | 199 +++++++++++++++-- drivers/net/sxe2/sxe2_cmd_chnl.h | 15 +- drivers/net/sxe2/sxe2_drv_cmd.h | 33 +-- drivers/net/sxe2/sxe2_dump.c | 10 +- drivers/net/sxe2/sxe2_ethdev.c | 192 ++++++++++------- drivers/net/sxe2/sxe2_ethdev.h | 13 +- drivers/net/sxe2/sxe2_ethdev_repr.c | 17 +- drivers/net/sxe2/sxe2_flow.c | 235 ++++++++++++++++++--- drivers/net/sxe2/sxe2_flow.h | 6 +- drivers/net/sxe2/sxe2_flow_define.h | 15 +- drivers/net/sxe2/sxe2_flow_parse_action.c | 42 ++-- drivers/net/sxe2/sxe2_flow_parse_pattern.c | 113 ---------- drivers/net/sxe2/sxe2_flow_parse_pattern.h | 6 - drivers/net/sxe2/sxe2_irq.c | 24 ++- drivers/net/sxe2/sxe2_mac.c | 11 +- drivers/net/sxe2/sxe2_mp.c | 59 +++--- drivers/net/sxe2/sxe2_queue.c | 2 + drivers/net/sxe2/sxe2_queue.h | 7 +- drivers/net/sxe2/sxe2_rx.c | 3 +- drivers/net/sxe2/sxe2_security.c | 1 + drivers/net/sxe2/sxe2_switchdev.c | 15 +- drivers/net/sxe2/sxe2_tx.c | 42 +++- drivers/net/sxe2/sxe2_tx.h | 4 + drivers/net/sxe2/sxe2_txrx.c | 34 +-- drivers/net/sxe2/sxe2_txrx_poll.h | 2 - drivers/net/sxe2/sxe2_txrx_vec.c | 74 +++---- drivers/net/sxe2/sxe2_txrx_vec_avx2.c | 10 +- drivers/net/sxe2/sxe2_txrx_vec_avx512.c | 133 +----------- drivers/net/sxe2/sxe2_txrx_vec_common.h | 9 +- drivers/net/sxe2/sxe2_txrx_vec_neon.c | 219 ++++++++++++------- drivers/net/sxe2/sxe2_txrx_vec_sse.c | 10 +- drivers/net/sxe2/sxe2_vsi.c | 31 +-- 35 files changed, 946 insertions(+), 707 deletions(-) -- 2.52.0

