> -----Original Message-----
> From: Nithin Dabilpuram <ndabilpu...@marvell.com>
> Sent: Friday, January 31, 2025 1:35 PM
> To: Jerin Jacob <jer...@marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpu...@marvell.com>; Kiran Kumar Kokkilagadda
> <kirankum...@marvell.com>; Sunil Kumar Kori <sk...@marvell.com>; Satha
> Koteswara Rao Kottidi <skotesh...@marvell.com>; Harman Kalra
> <hka...@marvell.com>
> Cc: dev@dpdk.org
> Subject: [PATCH 34/34] common/cnxk: move interrupt handling to platform-
> specific
>
> From: Satha Rao <skotesh...@marvell.com>
>
> This change refactors the interrupt handling to be platform-specific.
> Some platforms directly call ioctls, while others provide a library API for
> the
> same functionality. Moving the interrupt handling to platform-specific
> implementations enhances clarity and maintainability.
>
> Signed-off-by: Satha Rao <skotesh...@marvell.com>
1) Build issue
build-arm64-generic-gcc
Project name: DPDK
Project version: 25.03.0-rc1
C compiler for the host machine: ccache aarch64-linux-gnu-gcc (gcc 14.2.0
"aarch64-linux-gnu-gcc (GCC) 14.2.0")
C linker for the host machine: aarch64-linux-gnu-gcc ld.bfd 2.43
C compiler for the build machine: ccache cc (gcc 14.2.1 "cc (GCC) 14.2.1
20250207")
FAILED: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn20k_rx_64_79.c.o
ccache aarch64-linux-gnu-gcc -Idrivers/libtmp_rte_net_cnxk.a.p -Idrivers
-I../drivers -Idrivers/net/cnxk -I../drivers/net/cnxk -Ilib/ethdev
-I../lib/ethdev -I. -I.. -Iconfig -I../config -Ilib/eal/include
-I../lib/eal/include -Ilib/eal/li
nux/include -I../lib/eal/linux/include -Ilib/eal/arm/include
-I../lib/eal/arm/include -I../kernel/linux -Ilib/eal/common -I../lib/eal/common
-Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log
-Ilib/metrics -I../li
b/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf
-I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring
-Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci
-I../drivers/bus/pci/l
inux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev
-Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -Ilib/eventdev
-I../lib/eventdev -Ilib/hash -I../lib/hash -Ilib/timer -I../lib/timer
-Ilib/dmadev -I../lib/dma
dev -Ilib/security -I../lib/security -Idrivers/common/cnxk
-I../drivers/common/cnxk -Idrivers/mempool/cnxk -I../drivers/mempool/cnxk
-I/export/cross_prefix/prefix/include -fdiagnostics-color=always
-D_FILE_OFFSET_BITS=64 -Wall -Winvalid-
pch -Wextra -Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual
-Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs
-Wold-style-definition -Wpointer-arith -
Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings
-Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC
-march=armv8-a+crc -moutline-atomics -DALLOW_EXPERIMENTAL_API
-DALLOW_INTERNAL_API -Wno-format-truncati
on -Wno-address-of-packed-member -Wno-vla -flax-vector-conversions
-Wno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.cnxk -MD -MQ
drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn20k_rx_64_79.c.o -MF
drivers/libtmp_rte_net_cnxk.a.p/net
_cnxk_rx_cn20k_rx_64_79.c.o.d -o
drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn20k_rx_64_79.c.o -c
../drivers/net/cnxk/rx/cn20k/rx_64_79.c
In file included from ../drivers/net/cnxk/cn20k_rxtx.h:18,
from ../drivers/net/cnxk/cn20k_rx.h:7,
from ../drivers/net/cnxk/rx/cn20k/rx_64_79.c:5:
../drivers/net/cnxk/cn20k_rx.h: In function 'cn20k_nix_flush_recv_pkts':
../drivers/net/cnxk/cn20k_rx.h:619:37: error: 'lbase' undeclared (first use in
this function)
619 | ROC_LMT_BASE_ID_GET(lbase, lmt_id);
| ^~~~~
../drivers/common/cnxk/roc_io.h:16:18: note: in definition of macro
'ROC_LMT_BASE_ID_GET'
16 | (lmt_addr) += ((uint64_t)lmt_id <<
ROC_LMT_LINE_SIZE_LOG2); \
| ^~~~~~~~
../drivers/net/cnxk/cn20k_rx.h:619:37: note: each undeclared identifier is
reported only once for each function it appears in
619 | ROC_LMT_BASE_ID_GET(lbase, lmt_id);
| ^~~~~
../drivers/common/cnxk/roc_io.h:16:18: note: in definition of macro
'ROC_LMT_BASE_ID_GET'
16 | (lmt_addr) += ((uint64_t)lmt_id <<
ROC_LMT_LINE_SIZE_LOG2); \
| ^~~~~~~~
[977/3457] Compiling C object
drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn20k_rx_32_47.c.o
FAILED: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn20k_rx_32_47.c.o
2)
Is it candidate for Cc: sta...@dpdk.org backport?
common/cnxk: fix inbound IPsec sa setup
3)
### [PATCH] common/cnxk: support for inline IPsec for cn20k
Warning in drivers/common/cnxk/roc_nix_inl.c:
Using __atomic_xxx/__ATOMIC_XXX built-ins, prefer
rte_atomic_xxx/rte_memory_order_xxx
### [PATCH] common/cnxk: support for inline inbound queue
CHECK:SPACING: spaces preferred around that '*' (ctx:WxV)
#1231: FILE: drivers/net/cnxk/cnxk_ethdev.h:506:
+cnxk_nix_inl_fc_check(uint64_t __rte_atomic *fc, int32_t *fc_sw, uint32_t
nb_desc, uint16_t nb_inst)
^
total: 0 errors, 0 warnings, 1 checks, 1174 lines checked
Warning in drivers/common/cnxk/roc_platform.h:
Use plt_ symbols instead of rte_ API in cnxk base driver
4)Please update the release note for new feature such cn20k inline IPsec
support