mbox series

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

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

Message

Apeksha Gupta Oct. 21, 2021, 4:46 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 enqueue and dequeue support
  net/enetfec: add features

 MAINTAINERS                            |   7 +
 doc/guides/nics/enetfec.rst            | 135 +++++
 doc/guides/nics/features/enetfec.ini   |  14 +
 doc/guides/nics/index.rst              |   1 +
 doc/guides/rel_notes/release_21_11.rst |   4 +
 drivers/net/enetfec/enet_ethdev.c      | 761 +++++++++++++++++++++++++
 drivers/net/enetfec/enet_ethdev.h      | 181 ++++++
 drivers/net/enetfec/enet_pmd_logs.h    |  31 +
 drivers/net/enetfec/enet_regs.h        | 116 ++++
 drivers/net/enetfec/enet_rxtx.c        | 496 ++++++++++++++++
 drivers/net/enetfec/enet_uio.c         | 278 +++++++++
 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, 2103 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
  

Comments

Ferruh Yigit Oct. 27, 2021, 2:15 p.m. UTC | #1
On 10/21/2021 5:46 AM, Apeksha Gupta wrote:
> 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
> 

Hi Apeksha,

I have requested for techboard approval on uio part, comparing
having a new bus implementation.

Meanwhile I put some comments on the driver, but initially
it doesn't compile with latest DPDK.

Can you please send a new version that fixes the build error first,
so more checks can be done, later you can continue with other
comments in another version.


Thanks,
ferruh