[dpdk-dev] [PATCH v3 00/40] Introduce NXP DPAA Bus, Mempool and PMD
Shreyansh Jain
shreyansh.jain at nxp.com
Wed Aug 23 16:11:33 CEST 2017
Change Log:
============
v3:
- Rebasing over 17.11-rc0 (85238f50)
- Checkpatch fixes
(There are still 2 errors which I think are false positives)
- Implement rte_bus.find_device() interface
- Various other minor updates/cleanups
v2:
- Fixing various comments from Ferruh, but broadly:
-) Logging is been changed to reflect rte_log_register
-) Logs across Bus, Mempool and PMD updated
-) fixed incorrect feature claimed in dpaa.ini
- Removed 24/40/48 bit swapping macro from EAL.
These are defined in dpaa/bus now (compat.h)
- Added missing memory cleanup operation
- Updated documentation with some missing information
Introduction
============
RFC was posted here -> [R3]
V2 was posted here -> [R5]
This patch series adds NXP's QorIQ-Layerscape DPAA Architecture based
bus driver, mempool driver and PMD. This version of driver supports NXP
LS1043A/LS1023A, LS1046A/LS1026A family of network SoCs. [R1]
DPAA, or Datapath Acceleration Architecture [R2], is a set of hardware
components designed for high-speed network packet processing. This
architecture provides the infrastructure to support simplified sharing of
networking interfaces and accelerators by multiple CPU cores, and the
accelerators themselves.
This patchset introduces the following:
1. DPAA Bus (drivers/bus/dpaa)
The core of DPAA bus is implemented using 3 main hardware blocks: QMan,
or Queue Manager; BMan, or Buffer Manager and FMan, or Frame Manager.
The patches introduce necessary layers to expose the DPAA hardware
blocks for interfacing with RTE framework.
2. DPAA Mempool (drivers/mempool/dpaa)
BMan, or Buffer Manager, block of DPAA features a hardware offloaded
mempool. These patches add support for a driver to manage the BMan
block. This driver allows for mempool creation, deletion, buffer
acquire and release, as per the RTE APIs.
3. DPAA PMD (drivers/net/dpaa)
The Poll Mode Driver for DPAA NIC Interfaces.
Patch Layout
============
01: Add DPAA SoC build configuration
02~16: Add DPAA Bus support and features, incrementally
17: Add Documentation
18~21: Add DPAA Mempool support
22~40: Add PMD and its various features, incrementally
References
==========
[R1] http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-layerscape-arm-processors:QORIQ-ARM
[R2] http://www.nxp.com/assets/documents/data/en/white-papers/QORIQDPAAWP.pdf
[R3] RFC: http://dpdk.org/ml/archives/dev/2017-May/066675.html
[R4] v1: http://dpdk.org/ml/archives/dev/2017-June/068020.html
[R5] v2: http://dpdk.org/ml/archives/dev/2017-July/070113.html
Hemant Agrawal (2):
bus/dpaa: add compatibility and helper macros
net/dpaa: support for firmware version get API
Shreyansh Jain (38):
config: add NXP DPAA SoC build configuration
bus/dpaa: introduce NXP DPAA Bus driver skeleton
bus/dpaa: add OF parser for device scanning
bus/dpaa: introducing FMan configurations
bus/dpaa: add FMan hardware operations
bus/dpaa: enable DPAA IOCTL portal driver
bus/dpaa: add layer for interrupt emulation using pthread
bus/dpaa: add routines for managing a RB tree
bus/dpaa: add QMAN interface driver
bus/dpaa: add QMan driver core routines
bus/dpaa: add BMAN driver core
bus/dpaa: add support for FMAN frame queue lookup
bus/dpaa: add BMan hardware interfaces
bus/dpaa: add fman flow control threshold setting
bus/dpaa: integrate DPAA Bus with hardware blocks
doc: add NXP DPAA PMD documentation
bus/dpaa: add DPAA mempool logging macros
mempool/dpaa: add support for NXP DPAA Mempool
drivers: enable compilation of DPAA Mempool driver
maintainers: claim ownership of DPAA Mempool driver
bus/dpaa: add DPAA PMD logging macros
net/dpaa: add NXP DPAA PMD driver skeleton
config: enable NXP DPAA PMD compilation
net/dpaa: add support for Tx and Rx queue setup
net/dpaa: add support for MTU update
net/dpaa: add support for jumbo frames
net/dpaa: add support for link status update
net/dpaa: add support for device info and speed capability
net/dpaa: add support for promiscuous toggle
net/dpaa: add support for multicast toggle
net/dpaa: add support for MAC address update
net/dpaa: add support for basic stats
net/dpaa: add support for flow control
net/dpaa: add support for hashed RSS
net/dpaa: add support for packet type parsing
net/dpaa: add support for checksum offload
net/dpaa: add support for Scattered Rx
net/dpaa: add packet dump for debugging
MAINTAINERS | 9 +
config/common_base | 5 +
config/defconfig_arm64-dpaa-linuxapp-gcc | 64 +
doc/guides/nics/dpaa.rst | 374 +++
doc/guides/nics/features/dpaa.ini | 23 +
doc/guides/nics/index.rst | 1 +
drivers/bus/Makefile | 3 +
drivers/bus/dpaa/Makefile | 83 +
drivers/bus/dpaa/base/fman/fman.c | 559 +++++
drivers/bus/dpaa/base/fman/fman_hw.c | 634 ++++++
drivers/bus/dpaa/base/fman/netcfg_layer.c | 214 ++
drivers/bus/dpaa/base/fman/of.c | 576 +++++
drivers/bus/dpaa/base/qbman/bman.c | 394 ++++
drivers/bus/dpaa/base/qbman/bman.h | 550 +++++
drivers/bus/dpaa/base/qbman/bman_driver.c | 323 +++
drivers/bus/dpaa/base/qbman/bman_priv.h | 125 ++
drivers/bus/dpaa/base/qbman/dpaa_alloc.c | 104 +
drivers/bus/dpaa/base/qbman/dpaa_sys.c | 136 ++
drivers/bus/dpaa/base/qbman/dpaa_sys.h | 65 +
drivers/bus/dpaa/base/qbman/process.c | 331 +++
drivers/bus/dpaa/base/qbman/qman.c | 2497 +++++++++++++++++++++
drivers/bus/dpaa/base/qbman/qman.h | 888 ++++++++
drivers/bus/dpaa/base/qbman/qman_driver.c | 288 +++
drivers/bus/dpaa/base/qbman/qman_priv.h | 314 +++
drivers/bus/dpaa/dpaa_bus.c | 465 ++++
drivers/bus/dpaa/include/compat.h | 389 ++++
drivers/bus/dpaa/include/dpaa_bits.h | 65 +
drivers/bus/dpaa/include/dpaa_list.h | 101 +
drivers/bus/dpaa/include/dpaa_rbtree.h | 143 ++
drivers/bus/dpaa/include/fman.h | 459 ++++
drivers/bus/dpaa/include/fsl_bman.h | 375 ++++
drivers/bus/dpaa/include/fsl_fman.h | 189 ++
drivers/bus/dpaa/include/fsl_fman_crc64.h | 263 +++
drivers/bus/dpaa/include/fsl_qman.h | 2021 +++++++++++++++++
drivers/bus/dpaa/include/fsl_usd.h | 107 +
drivers/bus/dpaa/include/netcfg.h | 96 +
drivers/bus/dpaa/include/of.h | 190 ++
drivers/bus/dpaa/include/process.h | 107 +
drivers/bus/dpaa/rte_bus_dpaa_version.map | 46 +
drivers/bus/dpaa/rte_dpaa_bus.h | 170 ++
drivers/bus/dpaa/rte_dpaa_logs.h | 130 ++
drivers/mempool/Makefile | 2 +
drivers/mempool/dpaa/Makefile | 64 +
drivers/mempool/dpaa/dpaa_mempool.c | 276 +++
drivers/mempool/dpaa/dpaa_mempool.h | 77 +
drivers/mempool/dpaa/rte_mempool_dpaa_version.map | 6 +
drivers/net/Makefile | 2 +
drivers/net/dpaa/Makefile | 67 +
drivers/net/dpaa/dpaa_ethdev.c | 970 ++++++++
drivers/net/dpaa/dpaa_ethdev.h | 140 ++
drivers/net/dpaa/dpaa_rxtx.c | 759 +++++++
drivers/net/dpaa/dpaa_rxtx.h | 295 +++
drivers/net/dpaa/rte_pmd_dpaa_version.map | 4 +
mk/machine/dpaa/rte.vars.mk | 61 +
mk/rte.app.mk | 6 +
55 files changed, 16605 insertions(+)
create mode 100644 config/defconfig_arm64-dpaa-linuxapp-gcc
create mode 100644 doc/guides/nics/dpaa.rst
create mode 100644 doc/guides/nics/features/dpaa.ini
create mode 100644 drivers/bus/dpaa/Makefile
create mode 100644 drivers/bus/dpaa/base/fman/fman.c
create mode 100644 drivers/bus/dpaa/base/fman/fman_hw.c
create mode 100644 drivers/bus/dpaa/base/fman/netcfg_layer.c
create mode 100644 drivers/bus/dpaa/base/fman/of.c
create mode 100644 drivers/bus/dpaa/base/qbman/bman.c
create mode 100644 drivers/bus/dpaa/base/qbman/bman.h
create mode 100644 drivers/bus/dpaa/base/qbman/bman_driver.c
create mode 100644 drivers/bus/dpaa/base/qbman/bman_priv.h
create mode 100644 drivers/bus/dpaa/base/qbman/dpaa_alloc.c
create mode 100644 drivers/bus/dpaa/base/qbman/dpaa_sys.c
create mode 100644 drivers/bus/dpaa/base/qbman/dpaa_sys.h
create mode 100644 drivers/bus/dpaa/base/qbman/process.c
create mode 100644 drivers/bus/dpaa/base/qbman/qman.c
create mode 100644 drivers/bus/dpaa/base/qbman/qman.h
create mode 100644 drivers/bus/dpaa/base/qbman/qman_driver.c
create mode 100644 drivers/bus/dpaa/base/qbman/qman_priv.h
create mode 100644 drivers/bus/dpaa/dpaa_bus.c
create mode 100644 drivers/bus/dpaa/include/compat.h
create mode 100644 drivers/bus/dpaa/include/dpaa_bits.h
create mode 100644 drivers/bus/dpaa/include/dpaa_list.h
create mode 100644 drivers/bus/dpaa/include/dpaa_rbtree.h
create mode 100644 drivers/bus/dpaa/include/fman.h
create mode 100644 drivers/bus/dpaa/include/fsl_bman.h
create mode 100644 drivers/bus/dpaa/include/fsl_fman.h
create mode 100644 drivers/bus/dpaa/include/fsl_fman_crc64.h
create mode 100644 drivers/bus/dpaa/include/fsl_qman.h
create mode 100644 drivers/bus/dpaa/include/fsl_usd.h
create mode 100644 drivers/bus/dpaa/include/netcfg.h
create mode 100644 drivers/bus/dpaa/include/of.h
create mode 100644 drivers/bus/dpaa/include/process.h
create mode 100644 drivers/bus/dpaa/rte_bus_dpaa_version.map
create mode 100644 drivers/bus/dpaa/rte_dpaa_bus.h
create mode 100644 drivers/bus/dpaa/rte_dpaa_logs.h
create mode 100644 drivers/mempool/dpaa/Makefile
create mode 100644 drivers/mempool/dpaa/dpaa_mempool.c
create mode 100644 drivers/mempool/dpaa/dpaa_mempool.h
create mode 100644 drivers/mempool/dpaa/rte_mempool_dpaa_version.map
create mode 100644 drivers/net/dpaa/Makefile
create mode 100644 drivers/net/dpaa/dpaa_ethdev.c
create mode 100644 drivers/net/dpaa/dpaa_ethdev.h
create mode 100644 drivers/net/dpaa/dpaa_rxtx.c
create mode 100644 drivers/net/dpaa/dpaa_rxtx.h
create mode 100644 drivers/net/dpaa/rte_pmd_dpaa_version.map
create mode 100644 mk/machine/dpaa/rte.vars.mk
--
2.9.3
More information about the dev
mailing list