[PATCH net-next v6 0/3] net: libwx: improve VF ethtool support
From: Mengyuan Lou <mengyuanlou@net-swift.com>
Date: 2026-07-01 10:02:24
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 per-queue statistics reporting via ethtool -S 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. Patch 3 adds VF statistics support so ethtool -S can report useful runtime counters for VF interfaces. Changelog: v6: - 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 (3): 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: libwx: support vf per-queue statistics via ethtool -S .../net/ethernet/wangxun/libwx/wx_ethtool.c | 139 +++++++++++++++--- drivers/net/ethernet/wangxun/libwx/wx_hw.c | 8 + 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 | 6 +- .../net/ethernet/wangxun/libwx/wx_vf_common.h | 2 + .../net/ethernet/wangxun/libwx/wx_vf_lib.c | 13 +- 8 files changed, 150 insertions(+), 32 deletions(-) -- 2.30.1