This patch set introduces DPAA2 based QDMA device driver. It provide means to initiate a DMA transaction from CPU. The initiated DMA is performed without CPU being involved in the actual DMA transaction.
This patch series is rebased on dpdk master branch Patch 1: Support meson build in raw Patches 2-4: Makes necessary changes in the DPAA2 bus Patches 5-7: Add the DPAA2 QDMA driver Patch 8: Update the documentation Changes in v2: - Rebased over master branch - Pulled in couple of changes which were in CMDIF series - patch 3: some updations, patch 4 - handle failues in device init correctly - Updated the logging, added DP logs - Fixed remove_hw_queues_from_list function Changes in v3: - Fix compilation issue introduced due to a very recent change of removal of dma_addr_t. Fix in patch 7 where dma_addr_t was used. Changes in v4: - Support meson build for raw and dpaa2 qdma (patch 1 & 5) - Merged the two separate doc patches (patch 8) Nipun Gupta (8): raw: support meson build bus/fslmc: support MC DPDMAI object bus/fslmc: support scanning and probing of QDMA devices bus/fslmc: add macros required by QDMA for FLE and FD raw/dpaa2_qdma: introduce the DPAA2 QDMA driver raw/dpaa2_qdma: support configuration APIs raw/dpaa2_qdma: support enq and deq operations doc: add DPAA2 QDMA rawdev guide MAINTAINERS | 9 + config/common_base | 5 + config/common_linuxapp | 1 + doc/api/doxy-api-index.md | 1 + doc/api/doxy-api.conf | 1 + doc/guides/index.rst | 1 + doc/guides/rawdevs/dpaa2_qdma.rst | 140 +++ doc/guides/rawdevs/index.rst | 14 + doc/guides/rel_notes/release_18_05.rst | 8 + drivers/bus/fslmc/Makefile | 9 +- drivers/bus/fslmc/fslmc_bus.c | 2 + drivers/bus/fslmc/fslmc_vfio.c | 1 + drivers/bus/fslmc/mc/dpdmai.c | 429 +++++++++ drivers/bus/fslmc/mc/fsl_dpdmai.h | 189 ++++ drivers/bus/fslmc/mc/fsl_dpdmai_cmd.h | 107 +++ drivers/bus/fslmc/meson.build | 1 + drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 8 +- drivers/bus/fslmc/rte_bus_fslmc_version.map | 9 + drivers/bus/fslmc/rte_fslmc.h | 2 + drivers/meson.build | 3 +- drivers/raw/Makefile | 3 + drivers/raw/dpaa2_qdma/Makefile | 36 + drivers/raw/dpaa2_qdma/dpaa2_qdma.c | 1002 ++++++++++++++++++++ drivers/raw/dpaa2_qdma/dpaa2_qdma.h | 150 +++ drivers/raw/dpaa2_qdma/dpaa2_qdma_logs.h | 46 + drivers/raw/dpaa2_qdma/meson.build | 9 + drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h | 286 ++++++ .../raw/dpaa2_qdma/rte_pmd_dpaa2_qdma_version.map | 20 + drivers/raw/meson.build | 7 + drivers/raw/skeleton_rawdev/meson.build | 8 + mk/rte.app.mk | 3 + 31 files changed, 2504 insertions(+), 6 deletions(-) create mode 100644 doc/guides/rawdevs/dpaa2_qdma.rst create mode 100644 doc/guides/rawdevs/index.rst create mode 100644 drivers/bus/fslmc/mc/dpdmai.c create mode 100644 drivers/bus/fslmc/mc/fsl_dpdmai.h create mode 100644 drivers/bus/fslmc/mc/fsl_dpdmai_cmd.h create mode 100644 drivers/raw/dpaa2_qdma/Makefile create mode 100644 drivers/raw/dpaa2_qdma/dpaa2_qdma.c create mode 100644 drivers/raw/dpaa2_qdma/dpaa2_qdma.h create mode 100644 drivers/raw/dpaa2_qdma/dpaa2_qdma_logs.h create mode 100644 drivers/raw/dpaa2_qdma/meson.build create mode 100644 drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma.h create mode 100644 drivers/raw/dpaa2_qdma/rte_pmd_dpaa2_qdma_version.map create mode 100644 drivers/raw/meson.build create mode 100644 drivers/raw/skeleton_rawdev/meson.build -- 1.9.1