[RESEND,PATCH net-next v8 0/6] add sriov support for wangxun NICs
From: Mengyuan Lou <mengyuanlou@net-swift.com>
Date: 2025-03-13 21:47:40
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. Do not add uAPIs for in these patches, since the legacy APIs ndo_set_vf_* callbacks are considered frozen. And new apis are being replanned. v8: - Request a separate processing function when ngbe num_vfs is equal to 7. - Add the comment explains why pf needs to reuse interrupt 0 when the ngbe num_vfs equals 7. - Remove some useless api version checks because vf will not send commands higher than its own api version. - Fix some code syntax and logic errors. v7: https://lore.kernel.org/netdev/20250206103750.36064-1-mengyuanlou@net-swift.com/ (local) - Use pci_sriov_set_totalvfs instead of checking the limit manually. v6: https://lore.kernel.org/netdev/20250110102705.21846-1-mengyuanlou@net-swift.com/ (local) - Remove devlink allocation and PF/VF devlink port creation in these patches. v5: https://lore.kernel.org/netdev/598334BC407FB6F6+20240804124841.71177-1-mengyuanlou@net-swift.com/ (local) - Add devlink allocation which will be used to add uAPI. - Remove unused EXPORT_SYMBOL. - Unify some functions return styles in patch 1/4. - Make the code line less than 80 columns. v4: https://lore.kernel.org/netdev/3601E5DE87D2BC4F+20240604155850.51983-1-mengyuanlou@net-swift.com/ (local) - Move wx_ping_vf to patch 6. - Modify return section format in Kernel docs. v3: https://lore.kernel.org/netdev/587FAB7876D85676+20240415110225.75132-1-mengyuanlou@net-swift.com/ (local) - 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. v2: https://lore.kernel.org/netdev/EF19E603F7CCA7B9+20240403092714.3027-1-mengyuanlou@net-swift.com/ (local) - Fix some used uninitialised. - Use poll + yield with delay instead of busy poll of 10 times in mbx_lock obtain. - Split msg_task and flow into separate patches. v1: https://lore.kernel.org/netdev/DA3033FE3CCBBB84+20240307095755.7130-1-mengyuanlou@net-swift.com/ (local) Mengyuan Lou (6): net: libwx: Add mailbox 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 | 300 +++++- drivers/net/ethernet/wangxun/libwx/wx_hw.h | 4 + drivers/net/ethernet/wangxun/libwx/wx_lib.c | 128 ++- drivers/net/ethernet/wangxun/libwx/wx_mbx.c | 176 ++++ drivers/net/ethernet/wangxun/libwx/wx_mbx.h | 77 ++ drivers/net/ethernet/wangxun/libwx/wx_sriov.c | 910 ++++++++++++++++++ drivers/net/ethernet/wangxun/libwx/wx_sriov.h | 14 + drivers/net/ethernet/wangxun/libwx/wx_type.h | 93 +- drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 93 +- drivers/net/ethernet/wangxun/ngbe/ngbe_mdio.c | 5 + drivers/net/ethernet/wangxun/ngbe/ngbe_type.h | 3 + .../net/ethernet/wangxun/txgbe/txgbe_irq.c | 21 +- .../net/ethernet/wangxun/txgbe/txgbe_main.c | 27 + .../net/ethernet/wangxun/txgbe/txgbe_phy.c | 6 + .../net/ethernet/wangxun/txgbe/txgbe_type.h | 7 +- 16 files changed, 1832 insertions(+), 34 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.30.1 (Apple Git-130)