[PATCH net-next v3 0/4] Introduce ENETC ethernet drivers

From: Claudiu Manoil
Date: Fri Nov 23 2018 - 05:46:08 EST


ENETC is a multi-port virtualized Ethernet controller supporting GbE
designs and Time-Sensitive Networking (TSN) functionality.
ENETC is operating as an SR-IOV multi-PF capable Root Complex Integrated
Endpoint (RCIE). As such, it contains multiple physical (PF) and virtual
(VF) PCIe functions, discoverable by standard PCI Express.

The patch series adds basic enablement for these otherwise standard
buffer descriptor (BD) ring based ethernet devices (PCIe PFs and VFs),
currently included in the 64-bit dual ARMv8 processors LS1028A SoC.
The driver is portable to 32-bit designs, and it's independent of CPU
endianness.

Contributors:
Alex Marginean <alexandru.marginean@xxxxxxx>
Catalin Horghidan <catalin.horghidan@xxxxxxx>

TODO list:
* IEEE 1588 PTP support;
* TSN support;
* MDIO support and VF link management;
* power management support;
* flow control support;
* TC offloading with h/w MQPRIO;
* interrupt coalescing, configurable BD ring sizes, and other usual
config options if missing.

Claudiu Manoil (4):
enetc: Introduce basic PF and VF ENETC ethernet drivers
enetc: Add ethtool statistics
enetc: Add vf to pf messaging support
enetc: Add RFS and RSS support

MAINTAINERS | 6 +
drivers/net/ethernet/freescale/Kconfig | 1 +
drivers/net/ethernet/freescale/Makefile | 3 +
drivers/net/ethernet/freescale/enetc/Kconfig | 19 +
drivers/net/ethernet/freescale/enetc/Makefile | 15 +
drivers/net/ethernet/freescale/enetc/enetc.c | 1575 ++++++++++++++++++++
drivers/net/ethernet/freescale/enetc/enetc.h | 229 +++
drivers/net/ethernet/freescale/enetc/enetc_cbdr.c | 210 +++
.../net/ethernet/freescale/enetc/enetc_ethtool.c | 597 ++++++++
drivers/net/ethernet/freescale/enetc/enetc_hw.h | 519 +++++++
drivers/net/ethernet/freescale/enetc/enetc_msg.c | 164 ++
drivers/net/ethernet/freescale/enetc/enetc_pf.c | 921 ++++++++++++
drivers/net/ethernet/freescale/enetc/enetc_pf.h | 49 +
drivers/net/ethernet/freescale/enetc/enetc_vf.c | 255 ++++
14 files changed, 4563 insertions(+)
create mode 100644 drivers/net/ethernet/freescale/enetc/Kconfig
create mode 100644 drivers/net/ethernet/freescale/enetc/Makefile
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc.c
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc.h
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_cbdr.c
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_hw.h
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_msg.c
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_pf.c
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_pf.h
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_vf.c

--
2.7.4