mbox series

[0/4] drivers/net: add NXP ENETFEC driver

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

Message

Apeksha Gupta April 30, 2021, 4:34 a.m. UTC
  This patch series introduce the enetfec ethernet driver,
ENET fec (Fast Ethernet Controller) is a network poll mode driver for
the inbuilt NIC found in the NXP imx8mmevk Soc.

An overview of the enetfec driver with probe and remove are in patch 1.
Patch 2 design UIO so that user space directly communicate with a
hardware device. UIO interface mmap the Register & 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.


Apeksha Gupta (4):
  drivers/net/enetfec: Introduce NXP ENETFEC driver
  drivers/net/enetfec: UIO support added
  drivers/net/enetfec: queue configuration
  drivers/net/enetfec: add enqueue and dequeue support

 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    | 726 +++++++++++++++++++++++++++
 drivers/net/enetfec/enet_ethdev.h    | 203 ++++++++
 drivers/net/enetfec/enet_pmd_logs.h  |  31 ++
 drivers/net/enetfec/enet_regs.h      | 179 +++++++
 drivers/net/enetfec/enet_rxtx.c      | 499 ++++++++++++++++++
 drivers/net/enetfec/enet_uio.c       | 192 +++++++
 drivers/net/enetfec/enet_uio.h       |  54 ++
 drivers/net/enetfec/meson.build      |  16 +
 drivers/net/enetfec/version.map      |   3 +
 drivers/net/meson.build              |   1 +
 13 files changed, 2043 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 May 4, 2021, 3:40 p.m. UTC | #1
On 4/30/2021 5:34 AM, Apeksha Gupta wrote:
> This patch series introduce the enetfec ethernet driver,
> ENET fec (Fast Ethernet Controller) is a network poll mode driver for
> the inbuilt NIC found in the NXP imx8mmevk Soc.
> 
> An overview of the enetfec driver with probe and remove are in patch 1.
> Patch 2 design UIO so that user space directly communicate with a
> hardware device. UIO interface mmap the Register & 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.
> 
> 
> Apeksha Gupta (4):
>   drivers/net/enetfec: Introduce NXP ENETFEC driver
>   drivers/net/enetfec: UIO support added
>   drivers/net/enetfec: queue configuration
>   drivers/net/enetfec: add enqueue and dequeue support
> 

Hi Apeksha, Hemant,

It is a little late for v21.05, lets consider this driver for next release.
Meanwhile reviews can continue on it.
  
Sachin Saxena (OSS) July 4, 2021, 2:55 a.m. UTC | #2
On 30-Apr-21 10:04 AM, Apeksha Gupta wrote:
> This patch series introduce the enetfec ethernet driver,

enetfec ethernet driver -> enetfec driver

> ENET fec (Fast Ethernet Controller) is a network poll mode driver for
ENET fec ->enetfec
Also, please use "enetfec" consistently at all places.
> the inbuilt NIC found in the NXP imx8mmevk Soc.
SoC
>
> An overview of the enetfec driver with probe and remove are in patch 1.
> Patch 2 design UIO so that user space directly communicate with a
UIO -> UIO interface
> hardware device. UIO interface mmap the Register & BD memory in DPDK

hardware device -> UIO based hardware device
Register ->Control and Status Registers (/CSR/)

> 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.
>
>
> Apeksha Gupta (4):
>    drivers/net/enetfec: Introduce NXP ENETFEC driver
>    drivers/net/enetfec: UIO support added
>    drivers/net/enetfec: queue configuration
>    drivers/net/enetfec: add enqueue and dequeue support
>
>   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    | 726 +++++++++++++++++++++++++++
>   drivers/net/enetfec/enet_ethdev.h    | 203 ++++++++
>   drivers/net/enetfec/enet_pmd_logs.h  |  31 ++
>   drivers/net/enetfec/enet_regs.h      | 179 +++++++
>   drivers/net/enetfec/enet_rxtx.c      | 499 ++++++++++++++++++
>   drivers/net/enetfec/enet_uio.c       | 192 +++++++
>   drivers/net/enetfec/enet_uio.h       |  54 ++
>   drivers/net/enetfec/meson.build      |  16 +
>   drivers/net/enetfec/version.map      |   3 +
>   drivers/net/meson.build              |   1 +
>   13 files changed, 2043 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
>