[PATCH v2 net-next 00/14] net: enetc: cleanups and improvements
From: <hidden>
Date: 2026-07-02 03:25:41
Also in:
imx, linux-arm-kernel, lkml, netdev
From: Wei Fang <wei.fang@nxp.com> The first group of patches (1, 2, 5-7) eliminates code duplication between the ENETC v1 and v4 drivers. Since both hardware generations share identical register layouts for MAC promiscuous mode, MAC hash filters, and VLAN promiscuous mode - differing only in register address offsets - common helper functions are extracted into enetc_pf_common.c and shared by both drivers. Patch 3 converts ndo_set_rx_mode() to ndo_set_rx_mode_async(), removing the dedicated workqueue that was previously needed to defer MAC address list updates to a sleepable context. Patch 4 replaces counter-based MAFT entry tracking with a bitmap, which keeps hardware and software state in sync and avoids partial failures during entry allocation. Patches 8 and 9 fix phylink-related issues: removing invalid code from enetc4_pl_mac_link_up() and properly differentiating phylink capabilities between pseudo-MAC and standalone MAC. The remaining patches (10-14) are minor cleanups: removing a redundant VLAN promiscuous mode initialization in probe, using the PCI device name for the debugfs directory, simplifying port speed configuration, removing a redundant num_vsi field, using alloc_etherdev_mqs() for the VF driver, and using kzalloc_flex() for a flexible array allocation. --- v2: 1. Modify the error log when enetc4_init_ntmp_user() fails 2. Only set PHY_INTERFACE_MODE_10GBASER and PHY_INTERFACE_MODE_XGMII for ENETC v4, including MAC_5000FD and MAC_10000FD speeds 3. Improve the commit message of patch 13 v1 link: https://lore.kernel.org/imx/20260630072036.382761-1-wei.fang@oss.nxp.com/ (local) --- Claudiu Manoil (1): net: enetc: differentiate phylink capabilities for pseudo-MAC and standalone MAC Wei Fang (13): net: enetc: extract common helpers for MAC promiscuous mode setting net: enetc: extract common helpers for MAC hash filter configuration net: enetc: convert ndo_set_rx_mode() to ndo_set_rx_mode_async() net: enetc: improve MAFT entry management with bitmap tracking net: enetc: use PCI device name for debugfs directory net: enetc: simplify enetc4_set_port_speed() net: enetc: remove invalid code from enetc4_pl_mac_link_up() net: enetc: remove enetc4_set_default_si_vlan_promisc() net: enetc: refactor SI VLAN promiscuous mode configuration net: enetc: move enetc_set_si_vlan_promisc() to enetc_pf_common.c net: enetc: remove redundant num_vsi field from enetc_port_caps net: enetc: use alloc_etherdev_mqs() to create netdev for VF driver net: enetc: use kzalloc_flex() for enetc_psfp_gate allocation drivers/net/ethernet/freescale/enetc/enetc.h | 4 +- .../ethernet/freescale/enetc/enetc4_debugfs.c | 42 +- .../net/ethernet/freescale/enetc/enetc4_hw.h | 6 +- .../net/ethernet/freescale/enetc/enetc4_pf.c | 412 +++++++----------- .../ethernet/freescale/enetc/enetc_ethtool.c | 2 +- .../net/ethernet/freescale/enetc/enetc_hw.h | 12 +- .../net/ethernet/freescale/enetc/enetc_pf.c | 93 +--- .../net/ethernet/freescale/enetc/enetc_pf.h | 5 - .../freescale/enetc/enetc_pf_common.c | 153 ++++++- .../freescale/enetc/enetc_pf_common.h | 5 + .../net/ethernet/freescale/enetc/enetc_qos.c | 4 +- .../net/ethernet/freescale/enetc/enetc_vf.c | 3 +- include/linux/fsl/ntmp.h | 2 + 13 files changed, 353 insertions(+), 390 deletions(-) -- 2.34.1