mbox

[v9,0/5] drivers/net: add NXP ENETFEC driver

Message ID 20211110074829.16654-1-apeksha.gupta@nxp.com (mailing list archive)
Headers

Message

Apeksha Gupta Nov. 10, 2021, 7:48 a.m. UTC
  This patch series introduce the enetfec driver, ENETFEC (Fast Ethernet
Controller) is a network poll mode driver for the inbuilt NIC found in
the NXP i.MX 8M Mini SoC.

An overview of the enetfec driver with probe and remove are in patch 1.
Patch 2 design UIO interface so that user space directly communicate with
a UIO based hardware device. UIO interface mmap the Control and Status
Registers (CSR) & BD memory in DPDK which is allocated in kernel and this
gives access to non-cacheble memory for BD.

Patch 3 adds the RX/TX queue configuration setup operations.
Patch 4 adds enqueue and dequeue support. Also adds some basic features
like promiscuous enable, basic stats.
Patch 5 adds checksum and VLAN features.

Apeksha Gupta (5):
  net/enetfec: introduce NXP ENETFEC driver
  net/enetfec: add UIO support
  net/enetfec: support queue configuration
  net/enetfec: add Rx/Tx support
  net/enetfec: add features

 MAINTAINERS                            |   7 +
 doc/guides/nics/enetfec.rst            | 137 +++++
 doc/guides/nics/features/enetfec.ini   |  14 +
 doc/guides/nics/index.rst              |   1 +
 doc/guides/rel_notes/release_21_11.rst |   5 +
 drivers/net/enetfec/enet_ethdev.c      | 706 +++++++++++++++++++++++++
 drivers/net/enetfec/enet_ethdev.h      | 155 ++++++
 drivers/net/enetfec/enet_pmd_logs.h    |  31 ++
 drivers/net/enetfec/enet_regs.h        | 116 ++++
 drivers/net/enetfec/enet_rxtx.c        | 273 ++++++++++
 drivers/net/enetfec/enet_uio.c         | 284 ++++++++++
 drivers/net/enetfec/enet_uio.h         |  64 +++
 drivers/net/enetfec/meson.build        |  11 +
 drivers/net/enetfec/version.map        |   3 +
 drivers/net/meson.build                |   1 +
 15 files changed, 1808 insertions(+)
 create mode 100644 doc/guides/nics/enetfec.rst
 create mode 100644 doc/guides/nics/features/enetfec.ini
 create mode 100644 drivers/net/enetfec/enet_ethdev.c
 create mode 100644 drivers/net/enetfec/enet_ethdev.h
 create mode 100644 drivers/net/enetfec/enet_pmd_logs.h
 create mode 100644 drivers/net/enetfec/enet_regs.h
 create mode 100644 drivers/net/enetfec/enet_rxtx.c
 create mode 100644 drivers/net/enetfec/enet_uio.c
 create mode 100644 drivers/net/enetfec/enet_uio.h
 create mode 100644 drivers/net/enetfec/meson.build
 create mode 100644 drivers/net/enetfec/version.map