From patchwork Thu Sep 2 17:59:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Apeksha Gupta X-Patchwork-Id: 97836 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 06B42A0C4C; Thu, 2 Sep 2021 20:00:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 89A484003E; Thu, 2 Sep 2021 20:00:08 +0200 (CEST) Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by mails.dpdk.org (Postfix) with ESMTP id 78E7E4003C for ; Thu, 2 Sep 2021 20:00:07 +0200 (CEST) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 50870201F5D; Thu, 2 Sep 2021 20:00:07 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 19114201F5F; Thu, 2 Sep 2021 20:00:07 +0200 (CEST) Received: from lsv03186.swis.in-blr01.nxp.com (lsv03186.swis.in-blr01.nxp.com [92.120.146.182]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 254EC183AD0B; Fri, 3 Sep 2021 02:00:06 +0800 (+08) From: Apeksha Gupta To: andrew.rybchenko@oktetlabs.ru, ferruh.yigit@intel.com Cc: dev@dpdk.org, hemant.agrawal@nxp.com, sachin.saxena@nxp.com, Apeksha Gupta Date: Thu, 2 Sep 2021 23:29:50 +0530 Message-Id: <20210902175955.9202-1-apeksha.gupta@nxp.com> X-Mailer: git-send-email 2.17.1 X-Virus-Scanned: ClamAV using ClamSMTP Subject: [dpdk-dev] [PATCH v2 0/5] drivers/net: add NXP ENETFEC driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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