This patch set adds the following features. 1. Compared with ENETC v1, the formats of tables and command BD of ENETC v4 have changed significantly, and the two are not compatible. Therefore, in order to support the NETC Table Management Protocol (NTMP) v2.0, we introduced the netc-lib driver and added support for MAC address filter table and RSS table. 2. Add MAC filter and VLAN filter support for i.MX95 ENETC PF. 3. Add RSS support for i.MX95 ENETC PF. 4. Add loopback support for i.MX95 ENETC PF.
--- v1 Link: https://lore.kernel.org/imx/20250103060610.2233908-1-wei.f...@nxp.com/ --- Wei Fang (13): net: enetc: add initial netc-lib driver to support NTMP net: enetc: add command BD ring support for i.MX95 ENETC net: enetc: move generic MAC filterng interfaces to enetc-core net: enetc: add MAC filter for i.MX95 ENETC PF net: enetc: add debugfs interface to dump MAC filter net: enetc: make enetc_set_rxfh() and enetc_get_rxfh() reusable net: enetc: add RSS support for i.MX95 ENETC PF net: enetc: enable RSS feature by default net: enetc: move generic VLAN filter interfaces to enetc-core net: enetc: move generic VLAN hash filter functions to enetc_pf_common.c net: enetc: add VLAN filtering support for i.MX95 ENETC PF net: enetc: add loopback support for i.MX95 ENETC PF MAINTAINERS: add new file ntmp.h to ENETC driver MAINTAINERS | 1 + drivers/net/ethernet/freescale/enetc/Kconfig | 11 + drivers/net/ethernet/freescale/enetc/Makefile | 4 + drivers/net/ethernet/freescale/enetc/enetc.c | 103 +++- drivers/net/ethernet/freescale/enetc/enetc.h | 58 +- .../ethernet/freescale/enetc/enetc4_debugfs.c | 93 +++ .../ethernet/freescale/enetc/enetc4_debugfs.h | 20 + .../net/ethernet/freescale/enetc/enetc4_hw.h | 12 + .../net/ethernet/freescale/enetc/enetc4_pf.c | 537 +++++++++++++++++- .../net/ethernet/freescale/enetc/enetc_cbdr.c | 65 ++- .../ethernet/freescale/enetc/enetc_ethtool.c | 71 ++- .../net/ethernet/freescale/enetc/enetc_hw.h | 6 + .../net/ethernet/freescale/enetc/enetc_pf.c | 140 ++--- .../net/ethernet/freescale/enetc/enetc_pf.h | 32 +- .../freescale/enetc/enetc_pf_common.c | 46 +- .../freescale/enetc/enetc_pf_common.h | 2 + .../net/ethernet/freescale/enetc/enetc_vf.c | 19 +- drivers/net/ethernet/freescale/enetc/ntmp.c | 468 +++++++++++++++ .../ethernet/freescale/enetc/ntmp_formats.h | 59 ++ include/linux/fsl/ntmp.h | 178 ++++++ 20 files changed, 1729 insertions(+), 196 deletions(-) create mode 100644 drivers/net/ethernet/freescale/enetc/enetc4_debugfs.c create mode 100644 drivers/net/ethernet/freescale/enetc/enetc4_debugfs.h create mode 100644 drivers/net/ethernet/freescale/enetc/ntmp.c create mode 100644 drivers/net/ethernet/freescale/enetc/ntmp_formats.h create mode 100644 include/linux/fsl/ntmp.h -- 2.34.1