This series collects a set of correctness fixes, cleanups and feature
additions across the NXP DPAA bus, net, mempool and DMA drivers.

1. Bus/fman infrastructure cleanups (patches 01, 02, 12)
   - bus/dpaa: refine fman naming and fix global scope
   - bus/dpaa: scan max BPID from DTS
   - bus/dpaa: improve log macro and fix bus detection

2. Process-type guards (patch 03)
   - drivers: add process-type guards to prevent segfaults in secondary

3. FQ shutdown hardening (patches 04-08)
   - bus/dpaa: define helpers for qman channel and wq
   - bus/dpaa: shutdown DPAA FQ by fq descriptor
   - bus/dpaa: improve FQ shutdown with channel validation
   - bus/dpaa: enhance DPAA FQ shutdown
   - bus/dpaa: add DPAA cgrid cleanup support

4. net/dpaa improvements (patches 09, 11, 13)
   - net/dpaa: add ONIC port checks
   - net/dpaa: optimize FM deconfig
   - net/dpaa: optimize FMC MAC type parsing

5. Statistics (patch 10)
   - drivers: add BMI Tx statistics

6. mempool/dpaa (patches 14-15)
   - drivers: optimize DPAA multi-entry buffer pool operations
   - drivers: release DPAA bpid on driver destructor

7. dma/dpaa (patch 16)
   - dma/dpaa: add SG data validation and ERR050757 fix

v7 changes:
- Drop three net/dpaa patches from v6 that need further review:
  "net/dpaa: clean Tx confirmation FQ on device stop",
  "net/dpaa: remove redundant FQ shutdown from Rx queue setup",
  "net/dpaa: report error on using deferred start".
- Rebased onto 26.07-rc2.

v6 changes:
- Fix bman_release_fast() in patch 14: replace rte_memcpy() on the
  small bm_bufs[] stack array with memcpy(); the SIMD implementation
  of rte_memcpy reads in 32/64-byte chunks and triggers
  -Warray-bounds with GCC 15 / ASAN builds on the 64-byte array.
  memcpy() is correct here as this is a local stack buffer with no
  DMA or multi-process constraints.

v5 changes:
- Rebased onto current upstream main; resolved conflict in
  drivers/crypto/dpaa_sec/dpaa_sec.c where upstream removed the
  cryptodev_name[] local variable and snprintf() call in
  cryptodev_dpaa_sec_probe() -- patch 03 now uses dpaa_dev->name
  directly in rte_cryptodev_pmd_create().
- Resolved conflict in drivers/net/dpaa/dpaa_ethdev.c where upstream
  removed rte_dpaa_device.eth_dev -- patch 03 now uses
  rte_eth_dev_allocated() to look up the Ethernet device by name.

v4 changes:
- Fix dpaa_bus_dev_compare() to return the strncmp result (previously
  always returned 0, breaking device matching).
- Remove the dead get_tx_port_type() function that triggered a clang
  -Wunused-function CI failure.
- Guard all dpaa_fm_deconfig() call sites against NULL port_handle to
  prevent a NULL dereference on partially initialised interfaces.
- Move the penv variable declaration in dpaa_qdma_init() to the point of
  use (C99 inline), fixing a spurious -Wunused-variable warning during
  bisect of earlier patches in the series.

Gagandeep Singh (2):
  bus/dpaa: enhance DPAA FQ shutdown
  dma/dpaa: add SG data validation and ERR050757 fix

Hemant Agrawal (2):
  net/dpaa: optimize FM deconfig
  bus/dpaa: improve log macro and fix bus detection

Jun Yang (10):
  bus/dpaa: refine fman naming and fix global scope
  bus/dpaa: scan max BPID from DTS
  bus/dpaa: define helpers for qman channel and wq
  bus/dpaa: shutdown DPAA FQ by fq descriptor
  bus/dpaa: improve FQ shutdown with channel validation
  bus/dpaa: add DPAA cgrid cleanup support
  drivers: add BMI Tx statistics
  net/dpaa: optimize FMC MAC type parsing
  drivers: optimize DPAA multi-entry buffer pool operations
  drivers: release DPAA bpid on driver destructor

Prashant Gupta (1):
  drivers: add process-type guards for secondary process

Vanshika Shukla (1):
  net/dpaa: add ONIC port checks

 drivers/bus/dpaa/base/fman/fman.c         |  23 ++--
 drivers/bus/dpaa/base/fman/fman_hw.c      | 108 +++++++++---------
 drivers/bus/dpaa/base/qbman/bman.c        |  59 ++++------
 drivers/bus/dpaa/base/qbman/bman_driver.c |  48 +++++---
 drivers/bus/dpaa/base/qbman/qman.c        | 113 +++++++++++--------
 drivers/bus/dpaa/base/qbman/qman.h        |  23 +++-
 drivers/bus/dpaa/base/qbman/qman_driver.c |  29 ++++-
 drivers/bus/dpaa/dpaa_bus.c               |  12 +-
 drivers/bus/dpaa/dpaa_bus_base_symbols.c  |   4 +
 drivers/bus/dpaa/include/fman.h           |  30 ++++-
 drivers/bus/dpaa/include/fsl_bman.h       |  49 ++++++--
 drivers/bus/dpaa/include/fsl_qman.h       |  22 +++-
 drivers/crypto/dpaa_sec/dpaa_sec.c        |   3 -
 drivers/dma/dpaa/dpaa_qdma.c              | 102 +++++++++++++----
 drivers/mempool/dpaa/dpaa_mempool.c       |  75 +++++++++++--
 drivers/mempool/dpaa/dpaa_mempool.h       |   3 +-
 drivers/net/dpaa/dpaa_ethdev.c            | 111 +++++++++++++++----
 drivers/net/dpaa/dpaa_ethdev.h            |  22 +++-
 drivers/net/dpaa/dpaa_flow.c              | 129 ++++++++++++----------
 drivers/net/dpaa/dpaa_flow.h              |   7 +-
 drivers/net/dpaa/dpaa_fmc.c               |  73 +++++++-----
 21 files changed, 697 insertions(+), 348 deletions(-)

-- 
2.25.1

Reply via email to