3. NXP DPAA Eventdev Driver
The dpaa eventdev is an implementation of the eventdev API, that provides a wide range of the eventdev features. The eventdev relies on a dpaa based platform to perform event scheduling.
More information can be found at NXP Official Website.
3.1. Features
The DPAA EVENTDEV implements many features in the eventdev API;
- Hardware based event scheduler
- 4 event ports
- 4 event queues
- Parallel flows
- Atomic flows
3.2. Supported DPAA SoCs
- LS1046A/LS1026A
- LS1043A/LS1023A
3.3. Prerequisites
See NXP QorIQ DPAA Board Support Package for setup information
Currently supported by DPDK:
- NXP SDK 2.0+ or LSDK 18.09+
- Supported architectures: arm64 LE.
- Follow the DPDK Getting Started Guide for Linux to setup the basic DPDK environment.
3.4. Initialization
The dpaa eventdev is exposed as a vdev device which consists of a set of channels and queues. On EAL initialization, dpaa components will be probed and then vdev device can be created from the application code by
- Invoking
rte_vdev_init("event_dpaa1")
from the application - Using
--vdev="event_dpaa1"
in the EAL options, which will call rte_vdev_init() internally
Example:
./your_eventdev_application --vdev="event_dpaa1"
- Use dev arg option
disable_intr=1
to disable the interrupt mode
3.5. Limitations
- DPAA eventdev can not work with DPAA PUSH mode queues configured for ethdev. Please configure export DPAA_NUM_PUSH_QUEUES=0
3.5.1. Platform Requirement
DPAA drivers for DPDK can only work on NXP SoCs as listed in the
Supported DPAA SoCs
.
3.5.2. Port-core Binding
DPAA EVENTDEV driver requires event port ‘x’ to be used on core ‘x’.