From: Jie Liu <[email protected]> This patch set addresses the feedback received on the v10 submission for the sxe2 PMD. The primary focus is on fixing vector path selection, ensuring memory safety during mbuf initialization, and cleaning up redundant logic in the configuration functions.
v12 Changes: - Fixed vector Rx burst function being overwritten by scalar selection. - Refactored Rx/Tx mode set functions to seed flags from caps first,eliminating tautological checks. - Added memset for mbuf_def in vector init to avoid uninitialized reads. - Converted pci_map_addr_info to designated initializers. - Removed dead Windows-only code in meson.build. - Added NULL checks for mbuf free for driver-wide consistency. - Updated burst_mode_get to accurately report AVX paths. - Adjusted SXE2_ETH_OVERHEAD to match actual VLAN capabilities. Jie Liu (10): mailmap: add Jie Liu doc: add sxe2 guide and release notes common/sxe2: add sxe2 basic structures drivers: add base driver skeleton drivers: add base driver probe skeleton drivers: support PCI BAR mapping common/sxe2: add ioctl interface for DMA map and unmap net/sxe2: support queue setup and control drivers: add data path for Rx and Tx net/sxe2: add vectorized Rx and Tx .mailmap | 1 + doc/guides/nics/features/sxe2.ini | 30 + doc/guides/nics/index.rst | 1 + doc/guides/nics/sxe2.rst | 34 + doc/guides/rel_notes/release_26_07.rst | 4 + drivers/common/sxe2/meson.build | 15 + drivers/common/sxe2/sxe2_common.c | 685 +++++++++++++++ drivers/common/sxe2/sxe2_common.h | 86 ++ drivers/common/sxe2/sxe2_common_log.h | 83 ++ drivers/common/sxe2/sxe2_errno.h | 110 +++ drivers/common/sxe2/sxe2_host_regs.h | 707 +++++++++++++++ drivers/common/sxe2/sxe2_internal_ver.h | 33 + drivers/common/sxe2/sxe2_ioctl_chnl.c | 326 +++++++ drivers/common/sxe2/sxe2_ioctl_chnl.h | 141 +++ drivers/common/sxe2/sxe2_ioctl_chnl_func.h | 63 ++ drivers/common/sxe2/sxe2_osal.h | 584 +++++++++++++ drivers/common/sxe2/sxe2_type.h | 60 ++ drivers/meson.build | 1 + drivers/net/meson.build | 1 + drivers/net/sxe2/meson.build | 32 + drivers/net/sxe2/sxe2_cmd_chnl.c | 319 +++++++ drivers/net/sxe2/sxe2_cmd_chnl.h | 33 + drivers/net/sxe2/sxe2_drv_cmd.h | 389 +++++++++ drivers/net/sxe2/sxe2_ethdev.c | 942 ++++++++++++++++++++ drivers/net/sxe2/sxe2_ethdev.h | 315 +++++++ drivers/net/sxe2/sxe2_irq.h | 49 ++ drivers/net/sxe2/sxe2_queue.c | 67 ++ drivers/net/sxe2/sxe2_queue.h | 194 +++++ drivers/net/sxe2/sxe2_rx.c | 579 +++++++++++++ drivers/net/sxe2/sxe2_rx.h | 34 + drivers/net/sxe2/sxe2_tx.c | 447 ++++++++++ drivers/net/sxe2/sxe2_tx.h | 32 + drivers/net/sxe2/sxe2_txrx.c | 372 ++++++++ drivers/net/sxe2/sxe2_txrx.h | 22 + drivers/net/sxe2/sxe2_txrx_common.h | 541 ++++++++++++ drivers/net/sxe2/sxe2_txrx_poll.c | 945 +++++++++++++++++++++ drivers/net/sxe2/sxe2_txrx_poll.h | 17 + drivers/net/sxe2/sxe2_txrx_vec.c | 197 +++++ drivers/net/sxe2/sxe2_txrx_vec.h | 72 ++ drivers/net/sxe2/sxe2_txrx_vec_common.h | 235 +++++ drivers/net/sxe2/sxe2_txrx_vec_sse.c | 545 ++++++++++++ drivers/net/sxe2/sxe2_vsi.c | 212 +++++ drivers/net/sxe2/sxe2_vsi.h | 205 +++++ 43 files changed, 9760 insertions(+) create mode 100644 doc/guides/nics/features/sxe2.ini create mode 100644 doc/guides/nics/sxe2.rst create mode 100644 drivers/common/sxe2/meson.build create mode 100644 drivers/common/sxe2/sxe2_common.c create mode 100644 drivers/common/sxe2/sxe2_common.h create mode 100644 drivers/common/sxe2/sxe2_common_log.h create mode 100644 drivers/common/sxe2/sxe2_errno.h create mode 100644 drivers/common/sxe2/sxe2_host_regs.h create mode 100644 drivers/common/sxe2/sxe2_internal_ver.h create mode 100644 drivers/common/sxe2/sxe2_ioctl_chnl.c create mode 100644 drivers/common/sxe2/sxe2_ioctl_chnl.h create mode 100644 drivers/common/sxe2/sxe2_ioctl_chnl_func.h create mode 100644 drivers/common/sxe2/sxe2_osal.h create mode 100644 drivers/common/sxe2/sxe2_type.h create mode 100644 drivers/net/sxe2/meson.build create mode 100644 drivers/net/sxe2/sxe2_cmd_chnl.c create mode 100644 drivers/net/sxe2/sxe2_cmd_chnl.h create mode 100644 drivers/net/sxe2/sxe2_drv_cmd.h create mode 100644 drivers/net/sxe2/sxe2_ethdev.c create mode 100644 drivers/net/sxe2/sxe2_ethdev.h create mode 100644 drivers/net/sxe2/sxe2_irq.h create mode 100644 drivers/net/sxe2/sxe2_queue.c create mode 100644 drivers/net/sxe2/sxe2_queue.h create mode 100644 drivers/net/sxe2/sxe2_rx.c create mode 100644 drivers/net/sxe2/sxe2_rx.h create mode 100644 drivers/net/sxe2/sxe2_tx.c create mode 100644 drivers/net/sxe2/sxe2_tx.h create mode 100644 drivers/net/sxe2/sxe2_txrx.c create mode 100644 drivers/net/sxe2/sxe2_txrx.h create mode 100644 drivers/net/sxe2/sxe2_txrx_common.h create mode 100644 drivers/net/sxe2/sxe2_txrx_poll.c create mode 100644 drivers/net/sxe2/sxe2_txrx_poll.h create mode 100644 drivers/net/sxe2/sxe2_txrx_vec.c create mode 100644 drivers/net/sxe2/sxe2_txrx_vec.h create mode 100644 drivers/net/sxe2/sxe2_txrx_vec_common.h create mode 100644 drivers/net/sxe2/sxe2_txrx_vec_sse.c create mode 100644 drivers/net/sxe2/sxe2_vsi.c create mode 100644 drivers/net/sxe2/sxe2_vsi.h -- 2.47.3

