On Fri,  9 Oct 2026 14:40:34 +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, non
> fmX-macY shared Ethernet naming, and DMA scatter-gather and
> errata-workaround devargs. Documentation and release notes are updated
> accordingly.
> 
> v23:

I did build test on this and it fails with clang-23 which has more
detection of unused variables.

FAILED: [code=1] 
drivers/libtmp_rte_bus_dpaa.a.p/bus_dpaa_base_qbman_bman_driver.c.o 
clang-23 -Idrivers/libtmp_rte_bus_dpaa.a.p -Idrivers -I../drivers 
-Idrivers/bus/dpaa -I../drivers/bus/dpaa -I../drive
rs/bus/dpaa/base -I../drivers/bus/dpaa/include -I../drivers/bus/dpaa/base/qbman 
-Ilib/eal/common -I../lib/eal/common 
-I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include 
-Ilib/eal/linux/include -I../lib/eal/linux/inclu
de -Ilib/eal/x86/include -I../lib/eal/x86/include -I../kernel/linux -Ilib/eal 
-I../lib/eal -Ilib/kvargs -I../lib/kvar
gs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry 
-I../lib/telemetry -Ilib/argparse -I../lib/a
rgparse -Idrivers/common/dpaax -I../drivers/common/dpaax 
-I../drivers/common/dpaax/caamflib -Ilib/eventdev -I../lib/e
ventdev -Ilib/ring -I../lib/ring -Ilib/ethdev -I../lib/ethdev -Ilib/net 
-I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/m
empool -I../lib/mempool -Ilib/meter -I../lib/meter -Ilib/hash -I../lib/hash 
-Ilib/rcu -I../lib/rcu -Ilib/timer -I../l
ib/timer -Ilib/cryptodev -I../lib/cryptodev -Ilib/dmadev -I../lib/dmadev 
-fdiagnostics-color=always -D_FILE_OFFSET_BI
TS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h 
-Wvla -Wcast-qual -Wcomma -Wdeprecated -
Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations 
-Wmissing-prototypes -Wnested-externs -Wold-styl
e-definition -Wpointer-arith -Wshadow -Wsign-compare -Wstrict-prototypes 
-Wundef -Wwrite-strings -Wno-missing-field-i
nitializers -D_GNU_SOURCE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API 
-DALLOW_INTERNAL_API -Wno-format-truncat
ion -Wno-address-of-packed-member -Wno-cast-qual -Wno-pointer-arith 
-DRTE_COMPONENT_CLASS=pmd_bus -DRTE_COMPONENT_NAM
E=dpaa -DRTE_LOG_DEFAULT_LOGTYPE=bus.dpaa -DRTE_ANNOTATE_LOCKS -Wthread-safety 
-MD -MQ drivers/libtmp_rte_bus_dpaa.a.
p/bus_dpaa_base_qbman_bman_driver.c.o -MF 
drivers/libtmp_rte_bus_dpaa.a.p/bus_dpaa_base_qbman_bman_driver.c.o.d -o dr
ivers/libtmp_rte_bus_dpaa.a.p/bus_dpaa_base_qbman_bman_driver.c.o -c 
../drivers/bus/dpaa/base/qbman/bman_driver.c
../drivers/bus/dpaa/base/qbman/bman_driver.c:19:12: error: variable 
'bman_ip_rev' set but not used [-Werror,-Wunused-
but-set-global]
   19 | static u16 bman_ip_rev;
      |            ^

$ git grep bman_ip_rev
drivers/bus/dpaa/base/qbman/bman_driver.c:static u16 bman_ip_rev;
drivers/bus/dpaa/base/qbman/bman_driver.c:              bman_ip_rev = 
BMAN_REV10;
drivers/bus/dpaa/base/qbman/bman_driver.c:              bman_ip_rev = 
BMAN_REV20;
drivers/bus/dpaa/base/qbman/bman_driver.c:              bman_ip_rev = 
BMAN_REV21;
drivers/bus/dpaa/base/qbman/bman_driver.c:              bman_ip_rev = 
BMAN_REV21;

There are some non-urgent things from AI feedback that you can cleanup later.

Applies cleanly to main (1d020e1).  HEAD and each of the 27 commits
build with -Dwerror=true (gcc 13.3, x86) for the DPAA drivers.  Not
built for arm64.

v23 resolves the v22 items.  The 01/27 and 11/27 commit messages now
give the right reasons, 19/27 and 20/27 document that a malformed
value fails the probe, and 26/27 releases FQIDs in contiguous runs,
only after a successful shutdown.

No errors or warnings.

Info
----

Patch 25/27, 26/27: Each qman_create_fq() also takes an FQ lookup
  table entry (CONFIG_FSL_QMAN_FQ_LOOKUP_MAX, 32K, on 64-bit), and
  only qman_destroy_fq() returns it.  Nothing calls that, so every
  probe/close cycle leaks 2 entries for the oldev port and 4098 for
  dpaa_sec; the dpaa_sec part predates this series.  Suggested
  follow-up: mark the FQ out of service when qman_shutdown_fq()
  succeeds,

        fq->state = qman_fq_state_oos;

  and call qman_destroy_fq(fq, 0) after each successful shutdown.
  For the oldev FQs (QMAN_FQ_FLAG_DYNAMIC_FQID) that also replaces
  qman_release_fqid().

Pre-existing, not introduced here: in FMCLESS mode net/dpaa never
releases the Rx FQIDs it gets from qman_alloc_fqid_range(), on close
or on probe failure.

Reply via email to