[PATCH 34/34] common/cnxk: move interrupt handling to platform-specific
Jerin Jacob
jerinj at marvell.com
Mon Feb 24 08:17:19 CET 2025
> -----Original Message-----
> From: Nithin Dabilpuram <ndabilpuram at marvell.com>
> Sent: Friday, January 31, 2025 1:35 PM
> To: Jerin Jacob <jerinj at marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpuram at marvell.com>; Kiran Kumar Kokkilagadda
> <kirankumark at marvell.com>; Sunil Kumar Kori <skori at marvell.com>; Satha
> Koteswara Rao Kottidi <skoteshwar at marvell.com>; Harman Kalra
> <hkalra at marvell.com>
> Cc: dev at dpdk.org
> Subject: [PATCH 34/34] common/cnxk: move interrupt handling to platform-
> specific
>
> From: Satha Rao <skoteshwar at 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 <skoteshwar at 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: stable at 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
More information about the dev
mailing list