]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/doc/guides/eventdevs/dpaa.rst
import 15.2.0 Octopus source
[ceph.git] / ceph / src / spdk / dpdk / doc / guides / eventdevs / dpaa.rst
CommitLineData
11fdf7f2
TL
1.. SPDX-License-Identifier: BSD-3-Clause
2 Copyright 2017 NXP
3
4NXP DPAA Eventdev Driver
5=========================
6
7The dpaa eventdev is an implementation of the eventdev API, that provides a
8wide range of the eventdev features. The eventdev relies on a dpaa based
9platform to perform event scheduling.
10
11More information can be found at `NXP Official Website
12<http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors:QORIQ-ARM>`_.
13
14Features
15--------
16
17The DPAA EVENTDEV implements many features in the eventdev API;
18
19- Hardware based event scheduler
20- 4 event ports
21- 4 event queues
22- Parallel flows
23- Atomic flows
24
25Supported DPAA SoCs
26--------------------
27
9f95a23c
TL
28- LS1046A/LS1026A
29- LS1043A/LS1023A
11fdf7f2
TL
30
31Prerequisites
32-------------
33
9f95a23c 34See :doc:`../platform/dpaa` for setup information
11fdf7f2
TL
35
36Currently supported by DPDK:
37
9f95a23c 38- NXP SDK **2.0+** or LSDK **18.09+**
11fdf7f2
TL
39- Supported architectures: **arm64 LE**.
40
41- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
42
43Pre-Installation Configuration
44------------------------------
45
46Config File Options
47~~~~~~~~~~~~~~~~~~~
48
49The following options can be modified in the ``config`` file.
50Please note that enabling debugging options may affect system performance.
51
52- ``CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV`` (default ``y``)
53
54 Toggle compilation of the ``librte_pmd_dpaa_event`` driver.
55
56Driver Compilation
57~~~~~~~~~~~~~~~~~~
58
59To compile the DPAA EVENTDEV PMD for Linux arm64 gcc target, run the
60following ``make`` command:
61
62.. code-block:: console
63
64 cd <DPDK-source-directory>
9f95a23c 65 make config T=arm64-dpaa-linux-gcc install
11fdf7f2
TL
66
67Initialization
68--------------
69
70The dpaa eventdev is exposed as a vdev device which consists of a set of channels
71and queues. On EAL initialization, dpaa components will be
72probed and then vdev device can be created from the application code by
73
74* Invoking ``rte_vdev_init("event_dpaa1")`` from the application
75
76* Using ``--vdev="event_dpaa1"`` in the EAL options, which will call
77 rte_vdev_init() internally
78
79Example:
80
81.. code-block:: console
82
83 ./your_eventdev_application --vdev="event_dpaa1"
84
9f95a23c
TL
85* Use dev arg option ``disable_intr=1`` to disable the interrupt mode
86
11fdf7f2
TL
87Limitations
88-----------
89
901. DPAA eventdev can not work with DPAA PUSH mode queues configured for ethdev.
91 Please configure export DPAA_NUM_PUSH_QUEUES=0
92
93Platform Requirement
94~~~~~~~~~~~~~~~~~~~~
95
96DPAA drivers for DPDK can only work on NXP SoCs as listed in the
97``Supported DPAA SoCs``.
98
99Port-core Binding
100~~~~~~~~~~~~~~~~~
101
102DPAA EVENTDEV driver requires event port 'x' to be used on core 'x'.