[PATCH v17 00/23] NXP DPAA driver enhancements and fixes

Hemant Agrawal hemant.agrawal at nxp.com
Tue Sep 29 12:44:56 CEST 2026


This series collects a set of fixes and enhancements for the NXP DPAA
bus, mempool, dma, crypto and net drivers targeting 26.11.

It includes memory-leak and resource-cleanup fixes on the device
remove/close paths, more robust frame queue and congestion-group
shutdown, secondary-process safety guards, BPID and cgrid lifecycle
handling, and several new features: offline (O/H) port device support,
enhanced virtual storage profile (VSP) port support, fmcless Rx queue
configuration via devargs, Rx/Tx taildrop threshold devargs, non
fmX-macY shared Ethernet naming, and DMA scatter-gather and
errata-workaround devargs. Documentation and release notes are updated
accordingly.

v17:
* bus/dpaa: clamp the BPID range read from the DTS to the 64 pools the
  depletion mask and SCN registers can describe, reject an empty range,
  and drop a dead bman_ip_rev check.
* drivers: delete the congestion group in dpaa_rx_queue_init() and
  dpaa_tx_queue_init() when the following qman_init_fq() fails, which
  the caller's error path could not do.
* drivers: scan for a frame queue still attached to a congestion group
  unconditionally; an idle member reports a zero CGR byte count, so the
  old shortcut could release a CGRID that was still referenced.
* bus/dpaa: reject a frame queue on another portal's dedicated channel
  and bound the FQ retirement wait, which previously could spin forever.
* net/dpaa: bound the VSP ID against DPAA_VSP_PROFILE_MAX_NUM before
  first use, and expand the VSP commit message to cover all its changes.
* net/dpaa: parse the FMC port name only where the result is used, and
  demote the per-port probe logs from ERR/INFO to DEBUG.
* dma/dpaa: move the #ifdef out of the RTE_PMD_REGISTER_PARAM_STRING()
  argument list, which is undefined behaviour.
* drivers: return -errno rather than a raw -1 from the offline port
  control-device ioctls, issue the FQ-info ioctl from dev_start() rather
  than tx_queue_setup() since ethdev does not order queue setup, reject
  offline port probe in a secondary process, make the ops table const,
  and add the extern "C" guard to the installed header.
* drivers: do not rte_free() the DPAA BPID info array from the RTE_FINI
  destructor; rte_eal_cleanup() has already detached EAL memory, and in
  a secondary the array belongs to the primary.
* bus/dpaa: make drv_oldev usable; the bus devargs were matched against
  the wrong bus name and the offline port devargs were never parsed.
* doc: fold the five NXP DPAA release note entries into one
  "Updated NXP DPAA drivers" entry with sub-bullets.

v16:
* rebased on main

v15:
* Rebased on latest next-net
* Addressed AI review comments

v14:
* Dropped the ORP queue create and destructor patch.

v13:
* Addressed mailing-list review feedback on the previous revision.
* Dropped the Tx port rate limiting patch.

Gagandeep Singh (3):
  net/dpaa: fix device remove
  dma/dpaa: add devargs for SG and errata workaround
  drivers: add offline (O/H) port device support

Hemant Agrawal (6):
  net/dpaa: fix free port resources on close
  net/dpaa: optimize FM deconfig
  net/dpaa: support Rx/Tx taildrop threshold devarg
  net/dpaa: support non fmX-macY type of shared Ethernet name
  bus/dpaa: improve log macro usages
  doc: update release notes with NXP DPAA changes

Jun Yang (11):
  bus/dpaa: refine fman naming
  bus/dpaa: scan max BPID from DTS
  drivers: shutdown DPAA FQ by fq descriptor
  drivers: add DPAA cgrid cleanup support
  bus/dpaa: improve FQ shutdown with channel validation
  drivers: add BMI Tx statistics
  net/dpaa: optimize FMC MAC type parsing
  drivers: release DPAA bpid on driver destructor
  net/dpaa: support fmcless rxq number as devargs
  bus/dpaa: optimize DPAA multi-entry buffer pool operations
  crypto/dpaa_sec: improve crypto fq resource handling

Prashant Gupta (2):
  bus/dpaa: fix FQD dest wq channel decoding
  drivers: add process-type guards for secondary process

Vanshika Shukla (1):
  net/dpaa: enhance VSP port support

 doc/guides/dmadevs/dpaa.rst               |  30 +-
 doc/guides/nics/dpaa.rst                  |  35 +-
 doc/guides/rel_notes/release_26_11.rst    |  21 +
 drivers/bus/dpaa/base/fman/fman.c         |  42 +-
 drivers/bus/dpaa/base/fman/fman_hw.c      | 202 ++++--
 drivers/bus/dpaa/base/fman/netcfg_layer.c |   8 +-
 drivers/bus/dpaa/base/qbman/bman.c        |  60 +-
 drivers/bus/dpaa/base/qbman/bman_driver.c |  65 +-
 drivers/bus/dpaa/base/qbman/qman.c        | 168 +++--
 drivers/bus/dpaa/base/qbman/qman.h        |  23 +-
 drivers/bus/dpaa/base/qbman/qman_driver.c |  29 +-
 drivers/bus/dpaa/bus_dpaa_driver.h        |  11 +-
 drivers/bus/dpaa/dpaa_bus.c               | 189 +++--
 drivers/bus/dpaa/dpaa_bus_base_symbols.c  |   4 +
 drivers/bus/dpaa/include/fman.h           |  36 +-
 drivers/bus/dpaa/include/fsl_bman.h       |  59 +-
 drivers/bus/dpaa/include/fsl_qman.h       |  42 +-
 drivers/bus/dpaa/rte_dpaa_logs.h          |   2 +
 drivers/crypto/dpaa_sec/dpaa_sec.c        | 117 ++-
 drivers/dma/dpaa/dpaa_qdma.c              | 120 ++-
 drivers/mempool/dpaa/dpaa_mempool.c       |  68 +-
 drivers/mempool/dpaa/dpaa_mempool.h       |   2 +-
 drivers/net/dpaa/dpaa_ethdev.c            | 405 +++++++++--
 drivers/net/dpaa/dpaa_ethdev.h            |  23 +-
 drivers/net/dpaa/dpaa_flow.c              | 134 ++--
 drivers/net/dpaa/dpaa_flow.h              |   7 +-
 drivers/net/dpaa/dpaa_fmc.c               |  91 ++-
 drivers/net/dpaa/dpaa_oldev.c             | 845 ++++++++++++++++++++++
 drivers/net/dpaa/meson.build              |  11 +-
 drivers/net/dpaa/rte_pmd_dpaa_oldev.h     | 159 ++++
 30 files changed, 2523 insertions(+), 485 deletions(-)
 create mode 100644 drivers/net/dpaa/dpaa_oldev.c
 create mode 100644 drivers/net/dpaa/rte_pmd_dpaa_oldev.h

-- 
2.25.1



More information about the dev mailing list