[PATCH net-next v7 0/2] net: libwx: improve VF ethtool support
From: Mengyuan Lou <mengyuanlou@net-swift.com>
Date: 2026-07-10 02:00:33
This series improves ethtool support for Wangxun VF drivers (ngbevf and txgbevf) in libwx. This series extends VF support by enabling: ring parameter configuration via ethtool -G interrupt coalescing configuration via ethtool -C Patch 1 adds support for set_ringparam in wx_ethtool_ops_vf, allowing VF users to adjust TX/RX descriptor ring sizes. Patch 2 enables set_coalesce support for VF devices and updates EITR programming to use the VF-specific register access helper. Changelog: v7: - Remove patch3 and netdev_stat_ops support is deferred to a follow-up patch. v6: https://lore.kernel.org/all/20260701100145.23738-1-mengyuanlou@net-swift.com/ (local) - Patch 1: Clarify comments describing wx_set_ring() failure semantics. - Patch 2: Expand commit message to explain VF ITR encoding changes. - Patch 3: Protect ring accesses in wx_update_stats(). v5: https://lore.kernel.org/all/20260615104849.60444-1-mengyuanlou@net-swift.com (local) - Patch 3: Convert WX_NUM_{RX,TX}_QUEUES macros to take explicit netdev parameter as suggested by Simon Horman. v4: https://lore.kernel.org/all/20260608103946.25786-1-mengyuanlou@net-swift.com (local) sashiko: https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260529075147.88398-1-mengyuanlou%40net-swift.com - Patch 2: PF and VF share the same ITR value range. Update wx_write_eitr_vf() to apply identical range clamping as the PF path, ensuring consistent coalesce behavior across both device types. - Patch 3: Remove wx_update_stats in wxvf_down. Replace both WX_GLOBAL_STATS_LEN and WX_STATS_LEN macros with type-safe static helpers wx_global_stats_len() and wx_stats_len(). v3: https://lore.kernel.org/all/20260529075147.88398-1-mengyuanlou@net-swift.com (local) - Patch 3: Drop netdev_stat_ops support from this patch. v2: https://lore.kernel.org/all/20260525101115.13151-1-mengyuanlou@net-swift.com (local) - Patch 3: Remove some stats which can be replaced by standard stats defined in include/net/netdev_queues.h. - Patch 1: Adding a return value to wx_set_ring to make wx_set_ringparam_vf can be passed back to userspace. Remove freeing and requesting of IRQs. Ring resize only updates descriptor resources and does not change MSI-X vector or interrupt configuration, so IRQs do not need to be reallocated. v1: https://lore.kernel.org/all/20260514103405.42175-1-mengyuanlou@net-swift.com (local) Mengyuan Lou (2): net: libwx: add support for set_ringparam in wx_ethtool_ops_vf net: libwx: add support for set_coalesce in wx_ethtool_ops_vf .../net/ethernet/wangxun/libwx/wx_ethtool.c | 68 ++++++++++++++++++- drivers/net/ethernet/wangxun/libwx/wx_lib.c | 9 +-- drivers/net/ethernet/wangxun/libwx/wx_lib.h | 4 +- drivers/net/ethernet/wangxun/libwx/wx_vf.h | 1 - .../net/ethernet/wangxun/libwx/wx_vf_common.c | 4 +- .../net/ethernet/wangxun/libwx/wx_vf_common.h | 2 + .../net/ethernet/wangxun/libwx/wx_vf_lib.c | 13 +++- 7 files changed, 90 insertions(+), 11 deletions(-) -- 2.30.1