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:

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

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