Message ID | 20191010063234.32568-1-g.singh@nxp.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 36A491E8B7; Thu, 10 Oct 2019 08:48:08 +0200 (CEST) Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by dpdk.org (Postfix) with ESMTP id C52C21BEDB for <dev@dpdk.org>; Thu, 10 Oct 2019 08:48:06 +0200 (CEST) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 5B31F20044A; Thu, 10 Oct 2019 08:48:06 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 04A64200445; Thu, 10 Oct 2019 08:48:04 +0200 (CEST) Received: from GDB1.ap.freescale.net (GDB1.ap.freescale.net [10.232.132.179]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id BAB31402DA; Thu, 10 Oct 2019 14:47:59 +0800 (SGT) From: Gagandeep Singh <g.singh@nxp.com> To: dev@dpdk.org, ferruh.yigit@intel.com Cc: thomas@monjalon.net, Gagandeep Singh <g.singh@nxp.com> Date: Thu, 10 Oct 2019 12:02:20 +0530 Message-Id: <20191010063234.32568-1-g.singh@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191001110209.6047-1-g.singh@nxp.com> References: <20191001110209.6047-1-g.singh@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Subject: [dpdk-dev] [PATCH v4 00/14] introduces pfe network PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
introduces pfe network PMD
|
|
Message
Gagandeep Singh
Oct. 10, 2019, 6:32 a.m. UTC
This series introduces pfe (packet forwarding engine) network poll mode driver for NXP SoC ls1012a. First patch of this series move OF library code from dpaa bus to a common folder as PFE also uses the same library for getting information from the device tree. This patch is included in this series so that compilation by CI don't break. V2 Change-log: * fix compilation break for clang3.4 and gcc 4.8 * fix checkpatch errors V3 Change-log: * Release notes updated for PPFE PMD * Experimental APIs list added in Makefile and meson * Dynamic logging added * PPFE documentation is updated for kernel module "pfe.ko" and parameter "intf" is mentioned. * of.h and of.c are renamed to dpaa_of.h and dpaa_of.c * enable PPFE compilation only in 'common_armv8a_linux' * PFE_CDEV_ETH_COUNT updated 2, as only 2 eth devices supported. * Comment updated for "pfe_us_cdev" device * functions prototype updated * intf params value check added during parsing and unwanted port id checks removed. * unwanted dev->data memcpy removed. * munmap and rte_eth_dev_release_port added in error case * atoi replaced with strtol * add static to global variable g_pfe V4 Change-log: * DPAA dependency removed by moving compat.h from bus/dpaa/include to common/dpaax * Updated interface name to net_pfe in document * Updated driver name to PFE from PPFE everywhere for consistency * min_mtu and max_mtu added Gagandeep Singh (13): net/pfe: introduce pfe net poll mode driver doc: add guide for pfe net PMD net/pfe: support dynamic logging net/pfe: add HW specific macros and operations net/pfe: add MAC and host interface initialisation net/pfe: add device start stop operations net/pfe: add queue setup and release operations net/pfe: add burst enqueue and dequeue operations net/pfe: add supported packet types and basic statistics net/pfe: add MTU and MAC address set operations net/pfe: add allmulticast and promiscuous net/pfe: add link status update doc: add NXP PFE PMD in release notes Hemant Agrawal (1): common/dpaax: moving OF lib code from dpaa bus MAINTAINERS | 7 + config/common_armv8a_linux | 5 + config/common_base | 5 + doc/guides/nics/features/pfe.ini | 17 + doc/guides/nics/index.rst | 1 + doc/guides/nics/pfe.rst | 180 +++ doc/guides/rel_notes/release_19_11.rst | 5 + drivers/bus/dpaa/Makefile | 2 +- drivers/bus/dpaa/base/fman/fman.c | 2 +- drivers/bus/dpaa/base/fman/netcfg_layer.c | 2 +- drivers/bus/dpaa/base/qbman/dpaa_sys.h | 3 +- drivers/bus/dpaa/base/qbman/qman.c | 2 + drivers/bus/dpaa/dpaa_bus.c | 2 +- drivers/bus/dpaa/include/fman.h | 1 + drivers/bus/dpaa/include/fsl_usd.h | 1 + drivers/bus/dpaa/meson.build | 1 - drivers/bus/dpaa/rte_dpaa_bus.h | 2 +- drivers/bus/fslmc/Makefile | 1 + drivers/common/dpaax/Makefile | 10 +- .../dpaa/include => common/dpaax}/compat.h | 3 - .../dpaa/include => common/dpaax}/dpaa_list.h | 0 .../base/fman/of.c => common/dpaax/dpaa_of.c} | 63 +- .../include/of.h => common/dpaax/dpaa_of.h} | 27 +- drivers/common/dpaax/dpaax_logs.h | 10 + drivers/common/dpaax/meson.build | 5 +- .../common/dpaax/rte_common_dpaax_version.map | 18 + drivers/crypto/caam_jr/Makefile | 2 + drivers/crypto/caam_jr/caam_jr.c | 2 +- drivers/crypto/dpaa2_sec/Makefile | 2 +- drivers/crypto/dpaa_sec/Makefile | 1 + drivers/crypto/dpaa_sec/dpaa_sec.c | 2 +- drivers/event/dpaa/Makefile | 1 + drivers/event/dpaa2/Makefile | 1 + drivers/mempool/dpaa/Makefile | 1 + drivers/mempool/dpaa2/Makefile | 1 + drivers/net/Makefile | 1 + drivers/net/dpaa/Makefile | 1 + drivers/net/dpaa/dpaa_ethdev.h | 2 +- drivers/net/dpaa/dpaa_rxtx.c | 2 +- drivers/net/dpaa2/Makefile | 1 + drivers/net/meson.build | 1 + drivers/net/pfe/Makefile | 37 + drivers/net/pfe/base/cbus.h | 66 + drivers/net/pfe/base/cbus/bmu.h | 41 + drivers/net/pfe/base/cbus/class_csr.h | 277 ++++ drivers/net/pfe/base/cbus/emac_mtip.h | 231 ++++ drivers/net/pfe/base/cbus/gpi.h | 77 ++ drivers/net/pfe/base/cbus/hif.h | 86 ++ drivers/net/pfe/base/cbus/hif_nocpy.h | 36 + drivers/net/pfe/base/cbus/tmu_csr.h | 154 +++ drivers/net/pfe/base/cbus/util_csr.h | 47 + drivers/net/pfe/base/pfe.h | 422 ++++++ drivers/net/pfe/meson.build | 19 + drivers/net/pfe/pfe_eth.h | 76 ++ drivers/net/pfe/pfe_ethdev.c | 1192 +++++++++++++++++ drivers/net/pfe/pfe_hal.c | 629 +++++++++ drivers/net/pfe/pfe_hif.c | 868 ++++++++++++ drivers/net/pfe/pfe_hif.h | 156 +++ drivers/net/pfe/pfe_hif_lib.c | 576 ++++++++ drivers/net/pfe/pfe_hif_lib.h | 181 +++ drivers/net/pfe/pfe_logs.h | 31 + drivers/net/pfe/pfe_mod.h | 64 + drivers/net/pfe/rte_pmd_pfe_version.map | 4 + drivers/raw/dpaa2_cmdif/Makefile | 1 + drivers/raw/dpaa2_qdma/Makefile | 1 + mk/rte.app.mk | 1 + 66 files changed, 5613 insertions(+), 56 deletions(-) create mode 100644 doc/guides/nics/features/pfe.ini create mode 100644 doc/guides/nics/pfe.rst rename drivers/{bus/dpaa/include => common/dpaax}/compat.h (99%) rename drivers/{bus/dpaa/include => common/dpaax}/dpaa_list.h (100%) rename drivers/{bus/dpaa/base/fman/of.c => common/dpaax/dpaa_of.c} (88%) rename drivers/{bus/dpaa/include/of.h => common/dpaax/dpaa_of.h} (86%) create mode 100644 drivers/net/pfe/Makefile create mode 100644 drivers/net/pfe/base/cbus.h create mode 100644 drivers/net/pfe/base/cbus/bmu.h create mode 100644 drivers/net/pfe/base/cbus/class_csr.h create mode 100644 drivers/net/pfe/base/cbus/emac_mtip.h create mode 100644 drivers/net/pfe/base/cbus/gpi.h create mode 100644 drivers/net/pfe/base/cbus/hif.h create mode 100644 drivers/net/pfe/base/cbus/hif_nocpy.h create mode 100644 drivers/net/pfe/base/cbus/tmu_csr.h create mode 100644 drivers/net/pfe/base/cbus/util_csr.h create mode 100644 drivers/net/pfe/base/pfe.h create mode 100644 drivers/net/pfe/meson.build create mode 100644 drivers/net/pfe/pfe_eth.h create mode 100644 drivers/net/pfe/pfe_ethdev.c create mode 100644 drivers/net/pfe/pfe_hal.c create mode 100644 drivers/net/pfe/pfe_hif.c create mode 100644 drivers/net/pfe/pfe_hif.h create mode 100644 drivers/net/pfe/pfe_hif_lib.c create mode 100644 drivers/net/pfe/pfe_hif_lib.h create mode 100644 drivers/net/pfe/pfe_logs.h create mode 100644 drivers/net/pfe/pfe_mod.h create mode 100644 drivers/net/pfe/rte_pmd_pfe_version.map
Comments
10/10/2019 08:32, Gagandeep Singh: > Gagandeep Singh (13): > net/pfe: introduce pfe net poll mode driver > doc: add guide for pfe net PMD > net/pfe: support dynamic logging > net/pfe: add HW specific macros and operations > net/pfe: add MAC and host interface initialisation > net/pfe: add device start stop operations > net/pfe: add queue setup and release operations > net/pfe: add burst enqueue and dequeue operations > net/pfe: add supported packet types and basic statistics > net/pfe: add MTU and MAC address set operations > net/pfe: add allmulticast and promiscuous > net/pfe: add link status update > doc: add NXP PFE PMD in release notes Patches introducing the doc and release notes can be squashed in the patch introducing the driver.
On 10/10/2019 8:11 AM, Thomas Monjalon wrote: > 10/10/2019 08:32, Gagandeep Singh: >> Gagandeep Singh (13): >> net/pfe: introduce pfe net poll mode driver >> doc: add guide for pfe net PMD >> net/pfe: support dynamic logging >> net/pfe: add HW specific macros and operations >> net/pfe: add MAC and host interface initialisation >> net/pfe: add device start stop operations >> net/pfe: add queue setup and release operations >> net/pfe: add burst enqueue and dequeue operations >> net/pfe: add supported packet types and basic statistics >> net/pfe: add MTU and MAC address set operations >> net/pfe: add allmulticast and promiscuous >> net/pfe: add link status update >> doc: add NXP PFE PMD in release notes > > Patches introducing the doc and release notes can be squashed in the patch introducing the driver. > +1, I will do while merging.
On 10/10/2019 7:32 AM, Gagandeep Singh wrote: > This series introduces pfe (packet forwarding engine) > network poll mode driver for NXP SoC ls1012a. > > First patch of this series move OF library code from > dpaa bus to a common folder as PFE also uses the > same library for getting information from the device > tree. > This patch is included in this series so that > compilation by CI don't break. > > V2 Change-log: > * fix compilation break for clang3.4 and gcc 4.8 > * fix checkpatch errors > > V3 Change-log: > * Release notes updated for PPFE PMD > * Experimental APIs list added in Makefile and meson > * Dynamic logging added > * PPFE documentation is updated for kernel module "pfe.ko" > and parameter "intf" is mentioned. > * of.h and of.c are renamed to dpaa_of.h and dpaa_of.c > * enable PPFE compilation only in 'common_armv8a_linux' > * PFE_CDEV_ETH_COUNT updated 2, as only 2 eth devices supported. > * Comment updated for "pfe_us_cdev" device > * functions prototype updated > * intf params value check added during parsing and unwanted > port id checks removed. > * unwanted dev->data memcpy removed. > * munmap and rte_eth_dev_release_port added in error case > * atoi replaced with strtol > * add static to global variable g_pfe > > V4 Change-log: > * DPAA dependency removed by moving compat.h from > bus/dpaa/include to common/dpaax > * Updated interface name to net_pfe in document > * Updated driver name to PFE from PPFE everywhere > for consistency > * min_mtu and max_mtu added > > Gagandeep Singh (13): > net/pfe: introduce pfe net poll mode driver > doc: add guide for pfe net PMD > net/pfe: support dynamic logging > net/pfe: add HW specific macros and operations > net/pfe: add MAC and host interface initialisation > net/pfe: add device start stop operations > net/pfe: add queue setup and release operations > net/pfe: add burst enqueue and dequeue operations > net/pfe: add supported packet types and basic statistics > net/pfe: add MTU and MAC address set operations > net/pfe: add allmulticast and promiscuous > net/pfe: add link status update > doc: add NXP PFE PMD in release notes > > Hemant Agrawal (1): > common/dpaax: moving OF lib code from dpaa bus Series applied to dpdk-next-net/master, thanks. Please add web patch to announce the new PMD.
10/10/2019 19:47, Ferruh Yigit: > On 10/10/2019 7:32 AM, Gagandeep Singh wrote: > > Gagandeep Singh (13): > > net/pfe: introduce pfe net poll mode driver > > doc: add guide for pfe net PMD > > net/pfe: support dynamic logging > > net/pfe: add HW specific macros and operations > > net/pfe: add MAC and host interface initialisation > > net/pfe: add device start stop operations > > net/pfe: add queue setup and release operations > > net/pfe: add burst enqueue and dequeue operations > > net/pfe: add supported packet types and basic statistics > > net/pfe: add MTU and MAC address set operations > > net/pfe: add allmulticast and promiscuous > > net/pfe: add link status update > > doc: add NXP PFE PMD in release notes > > > > Hemant Agrawal (1): > > common/dpaax: moving OF lib code from dpaa bus > > Series applied to dpdk-next-net/master, thanks. While rebasing on top of master, I had to do some changes to the meson files in following commits: common/dpaax: moving OF lib code from dpaa bus net/pfe: add MAC and host interface initialisation --- a/drivers/common/dpaax/meson.build +++ b/drivers/common/dpaax/meson.build +if cc.has_argument('-Wno-pointer-arith') + cflags += '-Wno-pointer-arith' + endif --- a/drivers/crypto/caam_jr/meson.build +++ b/drivers/crypto/caam_jr/meson.build includes += include_directories('../../bus/dpaa/include/') +includes += include_directories('../../common/dpaax/') includes += include_directories('../../common/dpaax/caamflib/') --- a/drivers/crypto/dpaa_sec/meson.build +++ b/drivers/crypto/dpaa_sec/meson.build includes += include_directories('../../bus/dpaa/include') +includes += include_directories('../../common/dpaax') includes += include_directories('../../common/dpaax/caamflib/') --- a/drivers/net/pfe/meson.build +++ b/drivers/net/pfe/meson.build +if cc.has_argument('-Wno-pointer-arith') + cflags += '-Wno-pointer-arith' +endif 2 notes: - You should fix your pointer arithmetics instead of disabling warnings - Having 3 compat.h files in fslmc and dpaax is an horror for includes