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=1to 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’.