mbox series

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

Message ID 20210902175955.9202-1-apeksha.gupta@nxp.com (mailing list archive)
Headers show
Series drivers/net: add NXP ENETFEC driver | expand

Message

Apeksha Gupta Sept. 2, 2021, 5:59 p.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 enqueue and dequeue support
  net/enetfec: add features

 doc/guides/nics/enetfec.rst          | 125 +++++
 doc/guides/nics/features/enetfec.ini |  13 +
 doc/guides/nics/index.rst            |   1 +
 drivers/net/enetfec/enet_ethdev.c    | 757 +++++++++++++++++++++++++++
 drivers/net/enetfec/enet_ethdev.h    | 162 ++++++
 drivers/net/enetfec/enet_pmd_logs.h  |  31 ++
 drivers/net/enetfec/enet_regs.h      | 118 +++++
 drivers/net/enetfec/enet_rxtx.c      | 494 +++++++++++++++++
 drivers/net/enetfec/enet_uio.c       | 200 +++++++
 drivers/net/enetfec/enet_uio.h       |  54 ++
 drivers/net/enetfec/meson.build      |  17 +
 drivers/net/enetfec/version.map      |   3 +
 drivers/net/meson.build              |   3 +-
 13 files changed, 1976 insertions(+), 2 deletions(-)
 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