From: Jie Liu <[email protected]> This patch set implements core functionality for the SXE PMD, including basic driver framework, data path setup, and advanced offload features (VLAN, RSS, DCB, PTP etc.).
v18: - Addressed AI comments Jie Liu (13): net/sxe: add base driver directory and doc net/sxe: add ethdev probe and remove net/sxe: add tx rx setup and data path net/sxe: add link and mac layer operations net/sxe: support vlan filter net/sxe: add filter function net/sxe: support rss offload net/sxe: add dcb function net/sxe: support ptp net/sxe: add xstats function net/sxe: add custom cmd led ctrl net/sxe: add simd function net/sxe: add virtual function MAINTAINERS | 6 + doc/guides/nics/features/sxe.ini | 55 + doc/guides/nics/features/sxe_vf.ini | 37 + doc/guides/nics/index.rst | 1 + doc/guides/nics/sxe.rst | 71 + doc/guides/rel_notes/release_26_03.rst | 6 + drivers/net/meson.build | 1 + drivers/net/sxe/base/sxe_common.c | 66 + drivers/net/sxe/base/sxe_common.h | 15 + drivers/net/sxe/base/sxe_compat_platform.h | 124 + drivers/net/sxe/base/sxe_compat_version.h | 34 + drivers/net/sxe/base/sxe_errno.h | 61 + drivers/net/sxe/base/sxe_hw.c | 3306 ++++++++++++++++++++ drivers/net/sxe/base/sxe_hw.h | 1040 ++++++ drivers/net/sxe/base/sxe_logs.h | 105 + drivers/net/sxe/base/sxe_offload_common.c | 54 + drivers/net/sxe/base/sxe_offload_common.h | 14 + drivers/net/sxe/base/sxe_queue_common.c | 450 +++ drivers/net/sxe/base/sxe_queue_common.h | 240 ++ drivers/net/sxe/base/sxe_rx_common.c | 358 +++ drivers/net/sxe/base/sxe_rx_common.h | 17 + drivers/net/sxe/base/sxe_tx_common.c | 40 + drivers/net/sxe/base/sxe_tx_common.h | 12 + drivers/net/sxe/base/sxe_types.h | 40 + drivers/net/sxe/base/sxevf_hw.c | 950 ++++++ drivers/net/sxe/base/sxevf_hw.h | 349 +++ drivers/net/sxe/base/sxevf_regs.h | 119 + drivers/net/sxe/include/drv_msg.h | 18 + drivers/net/sxe/include/sxe/sxe_cli.h | 218 ++ drivers/net/sxe/include/sxe/sxe_hdc.h | 42 + drivers/net/sxe/include/sxe/sxe_ioctl.h | 21 + drivers/net/sxe/include/sxe/sxe_msg.h | 135 + drivers/net/sxe/include/sxe/sxe_regs.h | 1270 ++++++++ drivers/net/sxe/include/sxe_type.h | 795 +++++ drivers/net/sxe/include/sxe_version.h | 29 + drivers/net/sxe/meson.build | 66 + drivers/net/sxe/pf/rte_pmd_sxe.h | 19 + drivers/net/sxe/pf/sxe.h | 93 + drivers/net/sxe/pf/sxe_dcb.c | 945 ++++++ drivers/net/sxe/pf/sxe_dcb.h | 99 + drivers/net/sxe/pf/sxe_ethdev.c | 931 ++++++ drivers/net/sxe/pf/sxe_ethdev.h | 28 + drivers/net/sxe/pf/sxe_filter.c | 923 ++++++ drivers/net/sxe/pf/sxe_filter.h | 109 + drivers/net/sxe/pf/sxe_flow_ctrl.c | 98 + drivers/net/sxe/pf/sxe_flow_ctrl.h | 16 + drivers/net/sxe/pf/sxe_irq.c | 516 +++ drivers/net/sxe/pf/sxe_irq.h | 48 + drivers/net/sxe/pf/sxe_main.c | 198 ++ drivers/net/sxe/pf/sxe_offload.c | 336 ++ drivers/net/sxe/pf/sxe_offload.h | 51 + drivers/net/sxe/pf/sxe_phy.c | 953 ++++++ drivers/net/sxe/pf/sxe_phy.h | 117 + drivers/net/sxe/pf/sxe_pmd_hdc.c | 666 ++++ drivers/net/sxe/pf/sxe_pmd_hdc.h | 44 + drivers/net/sxe/pf/sxe_ptp.c | 209 ++ drivers/net/sxe/pf/sxe_ptp.h | 26 + drivers/net/sxe/pf/sxe_queue.c | 774 +++++ drivers/net/sxe/pf/sxe_queue.h | 132 + drivers/net/sxe/pf/sxe_rx.c | 1459 +++++++++ drivers/net/sxe/pf/sxe_rx.h | 188 ++ drivers/net/sxe/pf/sxe_stats.c | 586 ++++ drivers/net/sxe/pf/sxe_stats.h | 69 + drivers/net/sxe/pf/sxe_tx.c | 1051 +++++++ drivers/net/sxe/pf/sxe_tx.h | 50 + drivers/net/sxe/pf/sxe_vec_common.h | 321 ++ drivers/net/sxe/pf/sxe_vec_neon.c | 600 ++++ drivers/net/sxe/pf/sxe_vec_sse.c | 622 ++++ drivers/net/sxe/pf/sxe_vf.c | 1199 +++++++ drivers/net/sxe/pf/sxe_vf.h | 200 ++ drivers/net/sxe/sxe_drv_type.h | 15 + drivers/net/sxe/sxe_testpmd.c | 196 ++ drivers/net/sxe/vf/sxevf.h | 42 + drivers/net/sxe/vf/sxevf_ethdev.c | 752 +++++ drivers/net/sxe/vf/sxevf_ethdev.h | 16 + drivers/net/sxe/vf/sxevf_filter.c | 493 +++ drivers/net/sxe/vf/sxevf_filter.h | 70 + drivers/net/sxe/vf/sxevf_irq.c | 432 +++ drivers/net/sxe/vf/sxevf_irq.h | 34 + drivers/net/sxe/vf/sxevf_main.c | 82 + drivers/net/sxe/vf/sxevf_msg.c | 624 ++++ drivers/net/sxe/vf/sxevf_msg.h | 201 ++ drivers/net/sxe/vf/sxevf_offload.c | 30 + drivers/net/sxe/vf/sxevf_offload.h | 16 + drivers/net/sxe/vf/sxevf_queue.c | 208 ++ drivers/net/sxe/vf/sxevf_queue.h | 69 + drivers/net/sxe/vf/sxevf_rx.c | 162 + drivers/net/sxe/vf/sxevf_rx.h | 18 + drivers/net/sxe/vf/sxevf_stats.c | 162 + drivers/net/sxe/vf/sxevf_stats.h | 31 + drivers/net/sxe/vf/sxevf_tx.c | 46 + drivers/net/sxe/vf/sxevf_tx.h | 14 + 92 files changed, 27554 insertions(+) create mode 100644 doc/guides/nics/features/sxe.ini create mode 100644 doc/guides/nics/features/sxe_vf.ini create mode 100644 doc/guides/nics/sxe.rst create mode 100644 drivers/net/sxe/base/sxe_common.c create mode 100644 drivers/net/sxe/base/sxe_common.h create mode 100644 drivers/net/sxe/base/sxe_compat_platform.h create mode 100644 drivers/net/sxe/base/sxe_compat_version.h create mode 100644 drivers/net/sxe/base/sxe_errno.h create mode 100644 drivers/net/sxe/base/sxe_hw.c create mode 100644 drivers/net/sxe/base/sxe_hw.h create mode 100644 drivers/net/sxe/base/sxe_logs.h create mode 100644 drivers/net/sxe/base/sxe_offload_common.c create mode 100644 drivers/net/sxe/base/sxe_offload_common.h create mode 100644 drivers/net/sxe/base/sxe_queue_common.c create mode 100644 drivers/net/sxe/base/sxe_queue_common.h create mode 100644 drivers/net/sxe/base/sxe_rx_common.c create mode 100644 drivers/net/sxe/base/sxe_rx_common.h create mode 100644 drivers/net/sxe/base/sxe_tx_common.c create mode 100644 drivers/net/sxe/base/sxe_tx_common.h create mode 100644 drivers/net/sxe/base/sxe_types.h create mode 100644 drivers/net/sxe/base/sxevf_hw.c create mode 100644 drivers/net/sxe/base/sxevf_hw.h create mode 100644 drivers/net/sxe/base/sxevf_regs.h create mode 100644 drivers/net/sxe/include/drv_msg.h create mode 100644 drivers/net/sxe/include/sxe/sxe_cli.h create mode 100644 drivers/net/sxe/include/sxe/sxe_hdc.h create mode 100644 drivers/net/sxe/include/sxe/sxe_ioctl.h create mode 100644 drivers/net/sxe/include/sxe/sxe_msg.h create mode 100644 drivers/net/sxe/include/sxe/sxe_regs.h create mode 100644 drivers/net/sxe/include/sxe_type.h create mode 100644 drivers/net/sxe/include/sxe_version.h create mode 100644 drivers/net/sxe/meson.build create mode 100644 drivers/net/sxe/pf/rte_pmd_sxe.h create mode 100644 drivers/net/sxe/pf/sxe.h create mode 100644 drivers/net/sxe/pf/sxe_dcb.c create mode 100644 drivers/net/sxe/pf/sxe_dcb.h create mode 100644 drivers/net/sxe/pf/sxe_ethdev.c create mode 100644 drivers/net/sxe/pf/sxe_ethdev.h create mode 100644 drivers/net/sxe/pf/sxe_filter.c create mode 100644 drivers/net/sxe/pf/sxe_filter.h create mode 100644 drivers/net/sxe/pf/sxe_flow_ctrl.c create mode 100644 drivers/net/sxe/pf/sxe_flow_ctrl.h create mode 100644 drivers/net/sxe/pf/sxe_irq.c create mode 100644 drivers/net/sxe/pf/sxe_irq.h create mode 100644 drivers/net/sxe/pf/sxe_main.c create mode 100644 drivers/net/sxe/pf/sxe_offload.c create mode 100644 drivers/net/sxe/pf/sxe_offload.h create mode 100644 drivers/net/sxe/pf/sxe_phy.c create mode 100644 drivers/net/sxe/pf/sxe_phy.h create mode 100644 drivers/net/sxe/pf/sxe_pmd_hdc.c create mode 100644 drivers/net/sxe/pf/sxe_pmd_hdc.h create mode 100644 drivers/net/sxe/pf/sxe_ptp.c create mode 100644 drivers/net/sxe/pf/sxe_ptp.h create mode 100644 drivers/net/sxe/pf/sxe_queue.c create mode 100644 drivers/net/sxe/pf/sxe_queue.h create mode 100644 drivers/net/sxe/pf/sxe_rx.c create mode 100644 drivers/net/sxe/pf/sxe_rx.h create mode 100644 drivers/net/sxe/pf/sxe_stats.c create mode 100644 drivers/net/sxe/pf/sxe_stats.h create mode 100644 drivers/net/sxe/pf/sxe_tx.c create mode 100644 drivers/net/sxe/pf/sxe_tx.h create mode 100644 drivers/net/sxe/pf/sxe_vec_common.h create mode 100644 drivers/net/sxe/pf/sxe_vec_neon.c create mode 100644 drivers/net/sxe/pf/sxe_vec_sse.c create mode 100644 drivers/net/sxe/pf/sxe_vf.c create mode 100644 drivers/net/sxe/pf/sxe_vf.h create mode 100644 drivers/net/sxe/sxe_drv_type.h create mode 100644 drivers/net/sxe/sxe_testpmd.c create mode 100644 drivers/net/sxe/vf/sxevf.h create mode 100644 drivers/net/sxe/vf/sxevf_ethdev.c create mode 100644 drivers/net/sxe/vf/sxevf_ethdev.h create mode 100644 drivers/net/sxe/vf/sxevf_filter.c create mode 100644 drivers/net/sxe/vf/sxevf_filter.h create mode 100644 drivers/net/sxe/vf/sxevf_irq.c create mode 100644 drivers/net/sxe/vf/sxevf_irq.h create mode 100644 drivers/net/sxe/vf/sxevf_main.c create mode 100644 drivers/net/sxe/vf/sxevf_msg.c create mode 100644 drivers/net/sxe/vf/sxevf_msg.h create mode 100644 drivers/net/sxe/vf/sxevf_offload.c create mode 100644 drivers/net/sxe/vf/sxevf_offload.h create mode 100644 drivers/net/sxe/vf/sxevf_queue.c create mode 100644 drivers/net/sxe/vf/sxevf_queue.h create mode 100644 drivers/net/sxe/vf/sxevf_rx.c create mode 100644 drivers/net/sxe/vf/sxevf_rx.h create mode 100644 drivers/net/sxe/vf/sxevf_stats.c create mode 100644 drivers/net/sxe/vf/sxevf_stats.h create mode 100644 drivers/net/sxe/vf/sxevf_tx.c create mode 100644 drivers/net/sxe/vf/sxevf_tx.h -- 2.18.2

