[net-next PATCH v2 0/4] octeontx2: CN20K NPA Halo context support

From: Subbaraya Sundeep

Date: Thu Mar 19 2026 - 07:48:27 EST


This series adds NPA Halo support for CN20K in the octeontx2 AF and
PF drivers. On CN20K, NPA supports a unified "Halo" context that combines
aura and pool contexts in a single structure. This is a simplification
in hardware so that there is no need to initialize both Aura and Pool
contexts for queues. Separate Aura and Pool contexts are needed say if
we have to point many Auras to a single pool but we always use 1:1 Aura
and Pool map in Octeontx2 netdev driver. Hence for CN20K use Halo
context for netdevs.

The series:

1) Adds Halo context type, mbox handling, and halo_bmap tracking in AF.
2) Adds NPA DPC (diagnostic/performance counters) 32 counters with
per-LF permit registers, mbox alloc/free, and teardown handling.
3) Adds debugfs for Halo (halo_ctx file and NPA context display/write
for HALO ctype).
4) Switches the CN20K PF driver to use the unified Halo context and
allocates a DPC counter for the NPA LF.

Changes for v2:
Fixed all AI reviews
Removed inline and added const for npa_ctype_str(as per Simon)
Fixed build warning flagged with W=1


Thanks,
Sundeep

Linu Cherian (3):
octeontx2-af: npa: cn20k: Add NPA Halo support
octeontx2-af: npa: cn20k: Add DPC support
octeontx2-af: npa: cn20k: Add debugfs for Halo

Subbaraya Sundeep (1):
octeontx2-pf: cn20k: Use unified Halo context

.../ethernet/marvell/octeontx2/af/cn20k/api.h | 6 +
.../marvell/octeontx2/af/cn20k/debugfs.c | 60 +++++
.../marvell/octeontx2/af/cn20k/debugfs.h | 2 +
.../ethernet/marvell/octeontx2/af/cn20k/npa.c | 143 ++++++++++++
.../ethernet/marvell/octeontx2/af/cn20k/reg.h | 7 +
.../marvell/octeontx2/af/cn20k/struct.h | 81 +++++++
.../net/ethernet/marvell/octeontx2/af/mbox.h | 25 +++
.../net/ethernet/marvell/octeontx2/af/rvu.h | 5 +
.../marvell/octeontx2/af/rvu_debugfs.c | 74 ++++++-
.../ethernet/marvell/octeontx2/af/rvu_npa.c | 77 ++++++-
.../marvell/octeontx2/af/rvu_struct.h | 1 +
.../ethernet/marvell/octeontx2/nic/cn20k.c | 207 +++++++++---------
.../ethernet/marvell/octeontx2/nic/cn20k.h | 3 +
.../marvell/octeontx2/nic/otx2_common.h | 2 +
.../ethernet/marvell/octeontx2/nic/otx2_pf.c | 6 +
15 files changed, 580 insertions(+), 119 deletions(-)

--
2.48.1