Re: [PATCH v13 00/25] NXP DPAA driver enhancements and fixes
Stephen Hemminger <[email protected]>
| Newsgroups | org.dpdk.dev |
|---|---|
| Message-ID | <[email protected]> |
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.