[PATCH net-next 0/5] octeontx2-af: npc: Enhancements.

From: Ratheesh Kannoth

Date: Mon Mar 02 2026 - 04:01:48 EST


This series adds features in NPC HW block in the OcteonTX2 AF driver
for better observability, configuration, and resource management.

Patch 1 adds debugfs enhancements for CN20K: mcam_layout now shows
enabled/disabled state per MCAM entry; a new "dstats" entry reports hit
counts with delta semantics; and "mismatch" lists entries that are
enabled but not explicitly allocated.

Patch 2 (from Saeed) extends devlink with DEVLINK_PARAM_TYPE_U32_ARRAY
so params can accept multiple u32 values in a single value. This is
used by patch 3 for subbank search order.

Patch 3 adds a devlink parameter "srch_order" for CN20K to control
the order in which NPC subbanks are searched during MCAM allocation,
allowing users to tune rule priority without firmware changes.

Patch 4 ties default MCAM entries (broadcast, multicast, promisc, ucast)
to NIX LF lifetime: they are allocated when a NIX LF is allocated and
freed when it is released, improving MCAM utilization.
NIX_LF_DONT_FREE_DFT_IDXS lets the kernel PF retain default entries
across suspend/resume.

Patch 5 allows loading a custom KPU profile from the filesystem via
a module parameter (kpu_profile=), avoiding firmware flashes for
profile updates.

Ratheesh Kannoth (4):
octeontx2-af: npc: cn20k: debugfs enhancements
octeontx2-af: npc: cn20k: Add devlink support for search order
octeontx2-af: npc: cn20k: dynamically allocate and free default MCAM
entries
octeontx2-af: Add support for loading custom KPU profile from
filesystem

Saeed Mahameed (1):
devlink: Implement devlink param multi attribute nested data values

Documentation/netlink/specs/devlink.yaml | 4 +
.../marvell/octeontx2/af/cn20k/debugfs.c | 120 +++++++-
.../ethernet/marvell/octeontx2/af/cn20k/npc.c | 192 ++++++++++---
.../ethernet/marvell/octeontx2/af/cn20k/npc.h | 9 +
.../net/ethernet/marvell/octeontx2/af/mbox.h | 1 +
.../net/ethernet/marvell/octeontx2/af/npc.h | 14 +
.../net/ethernet/marvell/octeontx2/af/rvu.h | 3 +-
.../marvell/octeontx2/af/rvu_devlink.c | 88 +++++-
.../ethernet/marvell/octeontx2/af/rvu_nix.c | 14 +
.../ethernet/marvell/octeontx2/af/rvu_npc.c | 269 ++++++++++++++----
.../ethernet/marvell/octeontx2/af/rvu_reg.h | 1 +
.../marvell/octeontx2/nic/otx2_pf.c | 6 +-
include/net/devlink.h | 8 +
include/uapi/linux/devlink.h | 1 +
net/devlink/netlink_gen.c | 2 +
net/devlink/param.c | 78 +++--
16 files changed, 674 insertions(+), 136 deletions(-)

--
2.43.0