This patch series introduces HALO support for the CN20K platform. On earlier platforms (CN9K/CN10K), the NPA mempool required separate aura and pool contexts even for a 1:1 aura-to-pool mapping. This led to unnecessary context usage for the most common use case.
With CN20K, HALOs allow replacing this 1:1 aura/pool model with a single combined context, reducing context consumption and simplifying mempool management. Patch 1 adds HALO creation support in the ROC common layer. Patch 2 integrates HALO usage into the CN20K mempool driver and adds a new "halo_ena" devarg to enable or disable this feature. Nawal Kishor (2): common/cnxk: add support for halos mempool/cnxk: add halo support in mempool drivers/common/cnxk/hw/npa.h | 81 ++++++ drivers/common/cnxk/roc_idev.c | 25 ++ drivers/common/cnxk/roc_idev.h | 3 + drivers/common/cnxk/roc_idev_priv.h | 1 + drivers/common/cnxk/roc_mbox.h | 6 + drivers/common/cnxk/roc_nix.h | 1 + drivers/common/cnxk/roc_nix_queue.c | 46 ++- drivers/common/cnxk/roc_npa.c | 268 ++++++++++++++++-- drivers/common/cnxk/roc_npa.h | 20 +- drivers/common/cnxk/roc_npa_debug.c | 201 ++++++++++++- drivers/common/cnxk/roc_npa_priv.h | 3 + .../common/cnxk/roc_platform_base_symbols.c | 2 + drivers/common/cnxk/roc_sso.c | 35 ++- drivers/common/cnxk/roc_sso.h | 1 + drivers/mempool/cnxk/cn10k_mempool_ops.c | 19 +- drivers/mempool/cnxk/cn20k_mempool_ops.c | 60 ++++ drivers/mempool/cnxk/cn9k_mempool_ops.c | 2 +- drivers/mempool/cnxk/cnxk_mempool.c | 40 ++- drivers/mempool/cnxk/cnxk_mempool.h | 16 +- drivers/mempool/cnxk/cnxk_mempool_ops.c | 11 +- drivers/mempool/cnxk/meson.build | 1 + 21 files changed, 750 insertions(+), 92 deletions(-) create mode 100644 drivers/mempool/cnxk/cn20k_mempool_ops.c -- 2.48.1

