1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright 2018 NXP 3 4NXP DPAA2 QDMA Driver 5===================== 6 7The DPAA2 QDMA is an implementation of the rawdev API, that provide means 8to initiate a DMA transaction from CPU. The initiated DMA is performed 9without CPU being involved in the actual DMA transaction. This is achieved 10via using the DPDMAI device exposed by MC. 11 12More information can be found at `NXP Official Website 13<http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors:QORIQ-ARM>`_. 14 15Features 16-------- 17 18The DPAA2 QDMA implements following features in the rawdev API; 19 20- Supports issuing DMA of data within memory without hogging CPU while 21 performing DMA operation. 22- Supports configuring to optionally get status of the DMA translation on 23 per DMA operation basis. 24 25Supported DPAA2 SoCs 26-------------------- 27 28- LX2160A 29- LS2084A/LS2044A 30- LS2088A/LS2048A 31- LS1088A/LS1048A 32 33Prerequisites 34------------- 35 36See :doc:`../platform/dpaa2` for setup information 37 38Currently supported by DPDK: 39 40- NXP SDK **19.09+**. 41- MC Firmware version **10.18.0** and higher. 42- Supported architectures: **arm64 LE**. 43 44- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment. 45 46.. note:: 47 48 Some part of fslmc bus code (mc flib - object library) routines are 49 dual licensed (BSD & GPLv2). 50 51 52Enabling logs 53------------- 54 55For enabling logs, use the following EAL parameter: 56 57.. code-block:: console 58 59 ./your_qdma_application <EAL args> --log-level=pmd.raw.dpaa2.qdma,<level> 60 61Using ``pmd.raw.dpaa2.qdma`` as log matching criteria, all Event PMD logs can be 62enabled which are lower than logging ``level``. 63 64 65Initialization 66-------------- 67 68The DPAA2 QDMA is exposed as a vdev device which consists of dpdmai devices. 69On EAL initialization, dpdmai devices will be probed and populated into the 70rawdevices. The rawdev ID of the device can be obtained using 71 72* Invoking ``rte_rawdev_get_dev_id("dpdmai.x")`` from the application 73 where x is the object ID of the DPDMAI object created by MC. Use can 74 use this index for further rawdev function calls. 75 76Platform Requirement 77~~~~~~~~~~~~~~~~~~~~ 78 79DPAA2 drivers for DPDK can only work on NXP SoCs as listed in the 80``Supported DPAA2 SoCs``. 81