33e71acf3d
As per the deprecation notice, In the view of enabling unified driver for octeontx2(cn9k)/octeontx3(cn10k), removing drivers/octeontx2 drivers and replace with drivers/cnxk/ which supports both octeontx2(cn9k) and octeontx3(cn10k) SoCs. This patch does the following - Replace drivers/common/octeontx2/ with drivers/common/cnxk/ - Replace drivers/mempool/octeontx2/ with drivers/mempool/cnxk/ - Replace drivers/net/octeontx2/ with drivers/net/cnxk/ - Replace drivers/event/octeontx2/ with drivers/event/cnxk/ - Replace drivers/crypto/octeontx2/ with drivers/crypto/cnxk/ - Rename config/arm/arm64_octeontx2_linux_gcc as config/arm/arm64_cn9k_linux_gcc - Update the documentation and MAINTAINERS to reflect the same. - Change the reference to OCTEONTX2 as OCTEON 9. Old release notes and the kernel related documentation is not accounted for this change. Signed-off-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
59 lines
1.9 KiB
ReStructuredText
59 lines
1.9 KiB
ReStructuredText
.. SPDX-License-Identifier: BSD-3-Clause
|
|
Copyright(c) 2021 Marvell International Ltd.
|
|
|
|
.. include:: <isonum.txt>
|
|
|
|
CNXK DMA Device Driver
|
|
======================
|
|
|
|
The ``cnxk`` dmadev driver provides a poll-mode driver (PMD) for Marvell DPI DMA
|
|
Hardware Accelerator block found in OCTEON 9 and OCTEON 10 family of SoCs.
|
|
Each DMA queue is exposed as a VF function when SRIOV is enabled.
|
|
|
|
The block supports following modes of DMA transfers:
|
|
|
|
#. Internal - DMA within SoC DRAM to DRAM
|
|
#. Inbound - Host DRAM to SoC DRAM when SoC is in PCIe Endpoint
|
|
#. Outbound - SoC DRAM to Host DRAM when SoC is in PCIe Endpoint
|
|
|
|
Prerequisites and Compilation procedure
|
|
---------------------------------------
|
|
|
|
See :doc:`../platform/cnxk` for setup information.
|
|
|
|
Device Setup
|
|
-------------
|
|
|
|
The ``dpdk-devbind.py`` script, included with DPDK,
|
|
can be used to show the presence of supported hardware.
|
|
Running ``dpdk-devbind.py --status-dev dma`` will show all the CNXK DMA devices.
|
|
|
|
Devices using VFIO drivers
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The HW devices to be used will need to be bound to a user-space IO driver for use.
|
|
The ``dpdk-devbind.py`` script can be used to view the state of the devices
|
|
and to bind them to a suitable DPDK-supported driver, such as ``vfio-pci``.
|
|
For example::
|
|
|
|
$ dpdk-devbind.py -b vfio-pci 0000:05:00.1
|
|
|
|
Device Probing and Initialization
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
To use the devices from an application, the dmadev API can be used.
|
|
CNXK DMA device configuration requirements:
|
|
|
|
* Only one ``vchan`` is supported per device.
|
|
* CNXK DMA devices do not support silent mode.
|
|
|
|
Once configured, the device can then be made ready for use
|
|
by calling the ``rte_dma_start()`` API.
|
|
|
|
Performing Data Copies
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Refer to the :ref:`Enqueue / Dequeue APIs <dmadev_enqueue_dequeue>` section
|
|
of the dmadev library documentation
|
|
for details on operation enqueue and submission API usage.
|