[6/6] doc: add user guide of DPAA DMA driver

Message ID 20210909111500.3901706-7-g.singh@nxp.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Series Introduce DPAA DMA driver |


Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation warning apply issues

Commit Message

Gagandeep Singh Sept. 9, 2021, 11:15 a.m. UTC
  This patch adds DPAA DMA user guide.

Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
 MAINTAINERS                 |  1 +
 doc/guides/dmadevs/dpaa.rst | 60 +++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 doc/guides/dmadevs/dpaa.rst


index e3113b2e7e..0a131ede7c 100644
@@ -1349,6 +1349,7 @@  NXP DPAA DMA
 M: Gagandeep Singh <g.singh@nxp.com>
 M: Nipun Gupta <nipun.gupta@nxp.com>
 F: drivers/dma/dpaa/
+F: doc/guides/dmadevs/dpaa.rst
 Packet processing
diff --git a/doc/guides/dmadevs/dpaa.rst b/doc/guides/dmadevs/dpaa.rst
new file mode 100644
index 0000000000..ed9628ed79
--- /dev/null
+++ b/doc/guides/dmadevs/dpaa.rst
@@ -0,0 +1,60 @@ 
+..  SPDX-License-Identifier: BSD-3-Clause
+    Copyright 2021 NXP
+The DPAA DMA is an implementation of the dmadev APIs, that provide means
+to initiate a DMA transaction from CPU. The initiated DMA is performed
+without CPU being involved in the actual DMA transaction. This is achieved
+via using the QDMA controller of DPAA SoC.
+The QDMA controller transfers blocks of data between one source and one
+destination. The blocks of data transferred can be represented in memory
+as contiguous or noncontiguous using scatter/gather table(s).
+More information can be found at `NXP Official Website
+The DPAA DMA implements following features in the dmadev API:
+- Supports 1 virtual channel.
+- Supports all 4 DMA transfers: MEM_TO_MEM, MEM_TO_DEV,
+- Supports DMA silent mode.
+- Supports issuing DMA of data within memory without hogging CPU while
+  performing DMA operation.
+Supported DPAA SoCs
+- LS1046A
+- LS1043A
+See :doc:`../platform/dpaa` for setup information
+- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
+.. note::
+   Some part of dpaa bus code (qbman and fman - library) routines are
+   dual licensed (BSD & GPLv2), however they are used as BSD in DPDK in userspace.
+On EAL initialization, DPAA DMA devices will be detected on DPAA bus and
+will be probed and populated into their device list.
+Platform Requirement
+DPAA DMA driver for DPDK can only work on NXP SoCs as listed in the
+``Supported DPAA SoCs``.