On Wed, 19 Aug 2026 16:19:39 +0530
Hemant Agrawal <[email protected]> wrote:
> 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, ORP queue
> create and burst enqueue, non fmX-macY shared Ethernet naming, and DMA
> scatter-gather and errata-workaround devargs. Documentation and release
> notes are updated accordingly.
>
> 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 (13):
> 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
> bus/dpaa: orp queue create and burst enqueue
> 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
> drivers: add dpaax enter destructor to gate EAL memory frees
>
> 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 | 39 +-
> doc/guides/rel_notes/release_26_11.rst | 34 +
> drivers/bus/dpaa/base/fman/fman.c | 42 +-
> drivers/bus/dpaa/base/fman/fman_hw.c | 200 +++---
> drivers/bus/dpaa/base/fman/netcfg_layer.c | 8 +-
> drivers/bus/dpaa/base/qbman/bman.c | 59 +-
> drivers/bus/dpaa/base/qbman/bman_driver.c | 51 +-
> drivers/bus/dpaa/base/qbman/qman.c | 264 ++++++--
> 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 | 172 +++--
> drivers/bus/dpaa/dpaa_bus_base_symbols.c | 4 +
> drivers/bus/dpaa/include/fman.h | 25 +-
> drivers/bus/dpaa/include/fsl_bman.h | 49 +-
> drivers/bus/dpaa/include/fsl_qman.h | 65 +-
> drivers/bus/dpaa/rte_dpaa_logs.h | 2 +
> drivers/common/dpaax/compat.h | 22 +-
> drivers/common/dpaax/dpaax_iova_table.c | 24 +-
> drivers/crypto/dpaa_sec/dpaa_sec.c | 109 ++-
> drivers/dma/dpaa/dpaa_qdma.c | 110 ++-
> drivers/mempool/dpaa/dpaa_mempool.c | 60 +-
> drivers/mempool/dpaa/dpaa_mempool.h | 3 +-
> drivers/net/dpaa/dpaa_ethdev.c | 359 ++++++++--
> drivers/net/dpaa/dpaa_ethdev.h | 25 +-
> drivers/net/dpaa/dpaa_flow.c | 134 ++--
> drivers/net/dpaa/dpaa_flow.h | 7 +-
> drivers/net/dpaa/dpaa_fmc.c | 84 ++-
> drivers/net/dpaa/dpaa_oldev.c | 772 ++++++++++++++++++++++
> drivers/net/dpaa/meson.build | 11 +-
> drivers/net/dpaa/rte_pmd_dpaa_oldev.h | 149 +++++
> 32 files changed, 2499 insertions(+), 477 deletions(-)
> create mode 100644 drivers/net/dpaa/dpaa_oldev.c
> create mode 100644 drivers/net/dpaa/rte_pmd_dpaa_oldev.h
>
Summary of longish AI review..
Still open
Patch 15 — no response, and unchanged. getenv("DPAA_TX_TAILDROP_THRESHOLD") is
still the fallback, and the RST is still a bullet list. This is the one item
that got no reply at all, so it may just have been missed rather than rejected.
Patch 19 — marked fixed, but only the commit message was. U48_BY_HI16_LO32()
still shifts hi by 32 with no cast, and
BIT_SIZE/MAX_U48/HI16_OF_U48/LO32_OF_U48 are still unprefixed in fsl_bman.h.
The new message also says the macros were "dropped" when they were moved into
the installed header.
Patch 22 — genuinely improved. MAX_NUM_PORTS/MAX_NUM_SUBNETS are prefixed (the
collision that actually mattered) and dpaa_ip4_addr_s → dpaa_ip_addr_s. Still
unprefixed in the installed header: struct ip_pair_s, struct lgw_subnet_s, and
the DPA_ISC_* macros. I'd narrow the remaining ask to just those.
Patch 24 — unchanged in substance, and the contradiction is now sharper than in
v12: patch 13 deliberately made dpaa_mpool_finish() the only place
rte_dpaa_bpid_info is freed, so that function calls dpaax_enter_destructor()
and then rte_free() on EAL memory a few lines later. dpaa_finish() does the
same — latch, then dpaa_fm_term() and rte_dpaa_portal_fq_close().
Patch 25 — new inconsistency introduced by the patch 14 fix: the release note
still says "Added NXP DPAA DMA scatter-gather support" and "Added
scatter-gather (SG) batching... enabled by default", which is exactly the claim
patch 14's message was corrected to drop.
Patch 16 (ORP) — on "NXP customer applications use it":
qman_enqueue_multi_orp() is tagged __rte_internal, so it isn't reachable from
an application at all; internal symbols are restricted to DPDK's own libs and
drivers. If NXP customer code is calling it, either it's building in-tree (in
which case that user should come with the patch) or the tag is wrong. Worth
putting back to them as a question rather than a demand.