DPDK patches and discussions
 help / color / mirror / Atom feed
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: <dev@dpdk.org>, <olivier.matz@6wind.com>
Cc: <thomas.monjalon@6wind.com>, <shreyansh.jain@nxp.com>,
	<ferruh.yigit@intel.com>
Subject: [dpdk-dev] [PATCH v3 00/21] NXP DPAA2 FSLMC Bus driver
Date: Sun, 9 Apr 2017 13:20:03 +0530	[thread overview]
Message-ID: <1491724224-6319-1-git-send-email-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <1489754838-1455-1-git-send-email-hemant.agrawal@nxp.com>

From: Hemant Agrawal <b10814@rhuath-build.am.freescale.net>

(This patches has been split from DPAA2 PMD v8 series [1] as per
comments received on ML [2].)

The patchset introduces NXP’s QorIQ-Layerscape DPAA2 Architecture based
fsl-mc bus driver. This version of the driver supports NXP LS208xA,
LS204xA and LS108x family of Network SoCs.

This driver is base for DPAA2 based PMD to be introduced in later patches.
It will be used by dpaa2 net, crypto, event & other devices.
The details description of this bus along with PMD is part of later patch
sets for introducing the NXP DPAA2 PMD.

There are 3 main components of the FSLMC bus which enable the access to
DPAA2 devices from userspace:
1) QBMAN hardware: Which enables application lock-less access to hardware
   queues and buffers.
2) MC or Management Complex: Layer between Userspace and elements on the
   FSLMC bus. This layer exposes underlying hardware as 'objects' and
   allows for their configuration. Some of the key objects exposed are:
    - DPNI, which refers to the network interface object.
    - DPBP, which refers to HW based memory pool object
    - DPIO, refers to processing context for accessing QBMAN
3) Portal: For accessing the hardware objects exposed by MC, a continuous
   mapped area is available in form of objects.

This patchset introduces the above components.

Future Changes/Caveats:

1) VFIO code for fsl-mc bus is different than eal-vfio code for pci bus.
   This need to be re-worked to make possible re-use of the existing code.

References:
[1] http://dpdk.org/ml/archives/dev/2017-March/059000.html
[2] http://dpdk.org/ml/archives/dev/2017-March/059789.html

---
v3:
* rebased on master (17.05-rc1)
* error handling in scan & probe

v2:
* rebased on next-net (b36be54c)
* removing "-Wno-strict-alias" from makefile

Hemant Agrawal (21):
  mk/dpaa2: add the crc support to the machine type
  bus/fslmc: introducing fsl-mc bus driver
  bus/fslmc: add QBMAN driver to bus
  bus/fslmc: introduce MC object functions
  bus/fslmc: add mc dpio object support
  bus/fslmc: add mc dpbp object support
  eal/vfio: adding vfio utility functions in map file
  bus/fslmc: add vfio support
  bus/fslmc: scan for net and sec device
  bus/fslmc: add debug log support
  bus/fslmc: dpio portal driver
  bus/fslmc: introduce support for hardware mempool object
  bus/fslmc: affine dpio to crypto threads
  bus/fslmc: define queues for DPAA2 devices
  bus/fslmc: define hardware annotation area size
  bus/fslmc: introduce true and false macros
  bus/fslmc: define VLAN header length
  bus/fslmc: add packet FLE definitions
  bus/fslmc: add physical-virtual address translation helpers
  bus/fslmc: add support for DMA mapping for ARM SMMU
  bus/fslmc: frame queue based dq storage alloc

 MAINTAINERS                                        |    4 +
 config/common_base                                 |    5 +
 config/defconfig_arm64-dpaa2-linuxapp-gcc          |    8 +-
 drivers/Makefile                                   |    1 +
 drivers/bus/Makefile                               |   39 +
 drivers/bus/fslmc/Makefile                         |   75 +
 drivers/bus/fslmc/fslmc_bus.c                      |  141 ++
 drivers/bus/fslmc/fslmc_logs.h                     |   76 +
 drivers/bus/fslmc/fslmc_vfio.c                     |  642 +++++++++
 drivers/bus/fslmc/fslmc_vfio.h                     |   82 ++
 drivers/bus/fslmc/mc/dpbp.c                        |  261 ++++
 drivers/bus/fslmc/mc/dpio.c                        |  279 ++++
 drivers/bus/fslmc/mc/fsl_dpbp.h                    |  241 ++++
 drivers/bus/fslmc/mc/fsl_dpbp_cmd.h                |   88 ++
 drivers/bus/fslmc/mc/fsl_dpio.h                    |  282 ++++
 drivers/bus/fslmc/mc/fsl_dpio_cmd.h                |  122 ++
 drivers/bus/fslmc/mc/fsl_mc_cmd.h                  |  239 ++++
 drivers/bus/fslmc/mc/fsl_mc_sys.h                  |  105 ++
 drivers/bus/fslmc/mc/mc_sys.c                      |  114 ++
 drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c           |  137 ++
 drivers/bus/fslmc/portal/dpaa2_hw_dpio.c           |  443 ++++++
 drivers/bus/fslmc/portal/dpaa2_hw_dpio.h           |   70 +
 drivers/bus/fslmc/portal/dpaa2_hw_pvt.h            |  245 ++++
 drivers/bus/fslmc/qbman/include/compat.h           |  406 ++++++
 drivers/bus/fslmc/qbman/include/fsl_qbman_base.h   |  160 +++
 drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h | 1093 ++++++++++++++
 drivers/bus/fslmc/qbman/qbman_portal.c             | 1496 ++++++++++++++++++++
 drivers/bus/fslmc/qbman/qbman_portal.h             |  277 ++++
 drivers/bus/fslmc/qbman/qbman_private.h            |  170 +++
 drivers/bus/fslmc/qbman/qbman_sys.h                |  385 +++++
 drivers/bus/fslmc/qbman/qbman_sys_decl.h           |   73 +
 drivers/bus/fslmc/rte_bus_fslmc_version.map        |   50 +
 drivers/bus/fslmc/rte_fslmc.h                      |  148 ++
 lib/librte_eal/bsdapp/eal/rte_eal_version.map      |    3 +
 lib/librte_eal/linuxapp/eal/rte_eal_version.map    |    3 +
 mk/machine/dpaa2/rte.vars.mk                       |    5 +-
 36 files changed, 7965 insertions(+), 3 deletions(-)
 create mode 100644 drivers/bus/Makefile
 create mode 100644 drivers/bus/fslmc/Makefile
 create mode 100644 drivers/bus/fslmc/fslmc_bus.c
 create mode 100644 drivers/bus/fslmc/fslmc_logs.h
 create mode 100644 drivers/bus/fslmc/fslmc_vfio.c
 create mode 100644 drivers/bus/fslmc/fslmc_vfio.h
 create mode 100644 drivers/bus/fslmc/mc/dpbp.c
 create mode 100644 drivers/bus/fslmc/mc/dpio.c
 create mode 100644 drivers/bus/fslmc/mc/fsl_dpbp.h
 create mode 100644 drivers/bus/fslmc/mc/fsl_dpbp_cmd.h
 create mode 100644 drivers/bus/fslmc/mc/fsl_dpio.h
 create mode 100644 drivers/bus/fslmc/mc/fsl_dpio_cmd.h
 create mode 100644 drivers/bus/fslmc/mc/fsl_mc_cmd.h
 create mode 100644 drivers/bus/fslmc/mc/fsl_mc_sys.h
 create mode 100644 drivers/bus/fslmc/mc/mc_sys.c
 create mode 100644 drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c
 create mode 100644 drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
 create mode 100644 drivers/bus/fslmc/portal/dpaa2_hw_dpio.h
 create mode 100644 drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
 create mode 100644 drivers/bus/fslmc/qbman/include/compat.h
 create mode 100644 drivers/bus/fslmc/qbman/include/fsl_qbman_base.h
 create mode 100644 drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
 create mode 100644 drivers/bus/fslmc/qbman/qbman_portal.c
 create mode 100644 drivers/bus/fslmc/qbman/qbman_portal.h
 create mode 100644 drivers/bus/fslmc/qbman/qbman_private.h
 create mode 100644 drivers/bus/fslmc/qbman/qbman_sys.h
 create mode 100644 drivers/bus/fslmc/qbman/qbman_sys_decl.h
 create mode 100644 drivers/bus/fslmc/rte_bus_fslmc_version.map
 create mode 100644 drivers/bus/fslmc/rte_fslmc.h

-- 
2.1.4

  parent reply	other threads:[~2017-04-09  7:48 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-17 12:47 [dpdk-dev] [PATCH v1] NXP DPAA2 External Mempool Driver Hemant Agrawal
2017-03-17 12:47 ` [dpdk-dev] [PATCH v1] mempool/dpaa2: add DPAA2 hardware offloaded mempool Hemant Agrawal
2017-03-22  6:09   ` Jianbo Liu
2017-03-23 16:57     ` Hemant Agrawal
2017-03-24 14:57   ` Ferruh Yigit
2017-03-24 15:59     ` Ferruh Yigit
2017-03-24 16:31       ` Olivier Matz
2017-03-24 16:38         ` Ferruh Yigit
2017-03-24 16:42           ` Olivier Matz
2017-03-27 16:30             ` Olivier Matz
2017-03-28  9:45               ` Hemant Agrawal
2017-03-30 11:29                 ` Ferruh Yigit
2017-03-30 12:50                   ` Hemant Agrawal
2017-03-30 13:52                     ` Thomas Monjalon
2017-04-03 14:50                       ` Ferruh Yigit
2017-04-09  7:59   ` [dpdk-dev] [PATCH v2] NXP DPAA2 External Mempool Driver Hemant Agrawal
2017-04-09  7:59     ` [dpdk-dev] [PATCH v2] mempool/dpaa2: add DPAA2 hardware offloaded mempool Hemant Agrawal
2017-04-10 19:58       ` Olivier MATZ
2017-04-11  5:58         ` Hemant Agrawal
2017-04-11  7:50           ` Thomas Monjalon
2017-04-11  8:39             ` Ferruh Yigit
2017-04-11 12:50               ` Thomas Monjalon
2017-04-11 12:56                 ` Olivier MATZ
2017-04-11 13:54                   ` Hemant Agrawal
2017-04-11 13:42     ` [dpdk-dev] [PATCH v3] NXP DPAA2 External Mempool Driver Hemant Agrawal
2017-04-11 13:42       ` [dpdk-dev] [PATCH v3] mempool/dpaa2: add DPAA2 hardware offloaded mempool Hemant Agrawal
2017-04-12 11:31       ` [dpdk-dev] [PATCH v3] NXP DPAA2 External Mempool Driver Ferruh Yigit
2017-04-12 13:50       ` Ferruh Yigit
2017-03-17 13:42 ` [dpdk-dev] [PATCH v1] " Thomas Monjalon
2017-03-17 17:12   ` Hemant Agrawal
2017-03-17 17:22     ` Olivier Matz
2017-03-20 10:08       ` Hemant Agrawal
2017-04-09  7:50 ` Hemant Agrawal [this message]
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 01/21] mk/dpaa2: add the crc support to the machine type Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 02/21] bus/fslmc: introducing fsl-mc bus driver Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 03/21] bus/fslmc: add QBMAN driver to bus Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 04/21] bus/fslmc: introduce MC object functions Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 05/21] bus/fslmc: add mc dpio object support Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 06/21] bus/fslmc: add mc dpbp " Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 07/21] eal/vfio: adding vfio utility functions in map file Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 08/21] bus/fslmc: add vfio support Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 09/21] bus/fslmc: scan for net and sec device Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 10/21] bus/fslmc: add debug log support Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 11/21] bus/fslmc: dpio portal driver Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 12/21] bus/fslmc: introduce support for hardware mempool object Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 13/21] bus/fslmc: affine dpio to crypto threads Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 14/21] bus/fslmc: define queues for DPAA2 devices Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 15/21] bus/fslmc: define hardware annotation area size Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 16/21] bus/fslmc: introduce true and false macros Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 17/21] bus/fslmc: define VLAN header length Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 18/21] bus/fslmc: add packet FLE definitions Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 19/21] bus/fslmc: add physical-virtual address translation helpers Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 20/21] bus/fslmc: add support for DMA mapping for ARM SMMU Hemant Agrawal
2017-04-09  7:50   ` [dpdk-dev] [PATCH v3 21/21] bus/fslmc: frame queue based dq storage alloc Hemant Agrawal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1491724224-6319-1-git-send-email-hemant.agrawal@nxp.com \
    --to=hemant.agrawal@nxp.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=olivier.matz@6wind.com \
    --cc=shreyansh.jain@nxp.com \
    --cc=thomas.monjalon@6wind.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).