[PATCH net-next v4 0/6] add sriov support for wangxun NICs
From: Mengyuan Lou <mengyuanlou@net-swift.com>
Date: 2024-06-04 15:59:29
Add sriov_configure for ngbe and txgbe drivers. Reallocate queue and irq resources when sriov is enabled. Add wx_msg_task in interrupts handler, which is used to process the configuration sent by vfs. Add ping_vf for wx_pf to tell vfs about pf link change. changes v4: - Simon Horman Move wx_ping_vf to patch 6. Modify return section format in Kernel docs. changes v3: - Jakub Kicinski Do not accept any new implementations of the old SR-IOV API. So remove ndo_vf_xxx in these patches. Switch mode ops will be added in vf driver which will be submitted later. changes v2: - Simon Horman: Fix some used uninitialised. - Sunil: Use poll + yield with delay instead of busy poll of 10 times in mbx_lock obtain. Split ndo_vf_xxx , msg_task and flow into separate patches. Mengyuan Lou (6): net: libwx: Add malibox api for wangxun pf drivers net: libwx: Add sriov api for wangxun nics net: libwx: Redesign flow when sriov is enabled net: libwx: Add msg task func net: ngbe: add sriov function support net: txgbe: add sriov function support drivers/net/ethernet/wangxun/libwx/Makefile | 2 +- drivers/net/ethernet/wangxun/libwx/wx_hw.c | 303 ++++- drivers/net/ethernet/wangxun/libwx/wx_hw.h | 4 + drivers/net/ethernet/wangxun/libwx/wx_lib.c | 129 ++- drivers/net/ethernet/wangxun/libwx/wx_mbx.c | 189 +++ drivers/net/ethernet/wangxun/libwx/wx_mbx.h | 86 ++ drivers/net/ethernet/wangxun/libwx/wx_sriov.c | 1019 +++++++++++++++++ drivers/net/ethernet/wangxun/libwx/wx_sriov.h | 14 + drivers/net/ethernet/wangxun/libwx/wx_type.h | 100 +- drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 58 +- drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c | 10 + drivers/net/ethernet/wangxun/ngbe/ngbe_type.h | 2 + .../net/ethernet/wangxun/txgbe/txgbe_irq.c | 25 +- .../net/ethernet/wangxun/txgbe/txgbe_main.c | 23 + .../net/ethernet/wangxun/txgbe/txgbe_phy.c | 8 + .../net/ethernet/wangxun/txgbe/txgbe_type.h | 4 +- 16 files changed, 1947 insertions(+), 29 deletions(-) create mode 100644 drivers/net/ethernet/wangxun/libwx/wx_mbx.c create mode 100644 drivers/net/ethernet/wangxun/libwx/wx_mbx.h create mode 100644 drivers/net/ethernet/wangxun/libwx/wx_sriov.c create mode 100644 drivers/net/ethernet/wangxun/libwx/wx_sriov.h -- 2.44.0