From nobody Fri Jan 9 00:44:44 2026 Received: from mx0a-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB804315D25; Mon, 5 Jan 2026 02:33:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=67.231.148.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767580435; cv=none; b=k7BmbxJup7CAuqOOnGL8/04eROY1NS+ffoBrm0sTiPL0ZG+h/IZuYkMRqXaCF0qoxoGwfdgN9kWa/6X1cKKKUsihOIw8te/fcYuOrLuPTEj+Jv23ZBACtIPOr4vDoc+JZX7rfp34dPIxjb8Paj9ryJHyzKQ2u+uhtIcGQg8ztcc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767580435; c=relaxed/simple; bh=6BZNNKKDr1you2u2o+YJUgFh590QvXj6ZU5p6CLGA8E=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UNR4DvL5BaXq63zIJI9mRFqt7LCFiYMOJlRpwj5h8XjjE5ZF1k1eY2ce3fuHN8GYRZU7sMKRmKRGOBJ89ix9sEZyEIYzI151VjCUdrrHAzgIcLEnN13i2l6uQZZ1rCfx6FKqwewVS0Yt/a4AVAy/Kaw1Ws+yvwAhLc9e8OLEVg0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marvell.com; spf=pass smtp.mailfrom=marvell.com; dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b=fXK7EiFg; arc=none smtp.client-ip=67.231.148.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=marvell.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=marvell.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="fXK7EiFg" Received: from pps.filterd (m0431384.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 604MtNqS2644729; Sun, 4 Jan 2026 18:33:32 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pfpt0220; bh=T a46q+ybcZuKIWYvrnudRtTDCNVJocJZiBYIbjNjXk4=; b=fXK7EiFgc+a90iuRk kDu8HKI13/g3ubAWBAkuFvn1gY9yYT3WUkOnSGua0mWwFHaxEi+1nuVohKJyE3xu sMAnlbjDeT89z3M7wK9aBYfHuBs/6/MKItmPx7r4u/LP2OmlBp1u7lZBNRZ7e50l 7WqawwLAUsYMUJO+/F/7Jf2gGiKDq9iqDXTbnzfmeCYvUu6El8OXu2YcbqaEfiXc 3uPlo4jG5fzmaLel8IlF8v7f/xTInSZdi3iXgGaENg3iWu7po8qm7yhNk7MvHkUn QLyeUKiCr3lP/wGMBtCsLjjb1Yp60PeMZtypmI3gQsy+AGXzxszNBsOEh9nJRHJ6 yrPHw== Received: from dc6wp-exch02.marvell.com ([4.21.29.225]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 4bfr8bgts7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 04 Jan 2026 18:33:31 -0800 (PST) Received: from DC6WP-EXCH02.marvell.com (10.76.176.209) by DC6WP-EXCH02.marvell.com (10.76.176.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.25; Sun, 4 Jan 2026 18:33:30 -0800 Received: from maili.marvell.com (10.69.176.80) by DC6WP-EXCH02.marvell.com (10.76.176.209) with Microsoft SMTP Server id 15.2.1544.25 via Frontend Transport; Sun, 4 Jan 2026 18:33:30 -0800 Received: from rkannoth-OptiPlex-7090.. (unknown [10.28.36.165]) by maili.marvell.com (Postfix) with ESMTP id 4DAAA3F7094; Sun, 4 Jan 2026 18:33:27 -0800 (PST) From: Ratheesh Kannoth To: , CC: , , , , , , , Ratheesh Kannoth Subject: [PATCH net-next 03/13] octeontx2-af: npc: cn20k: Add default profile Date: Mon, 5 Jan 2026 08:02:44 +0530 Message-ID: <20260105023254.1426488-4-rkannoth@marvell.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260105023254.1426488-1-rkannoth@marvell.com> References: <20260105023254.1426488-1-rkannoth@marvell.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: ENA22TMKfbuhqqypoqbObSPRHCJOcYJ0 X-Proofpoint-GUID: ENA22TMKfbuhqqypoqbObSPRHCJOcYJ0 X-Authority-Analysis: v=2.4 cv=P/I3RyAu c=1 sm=1 tr=0 ts=695b22fb cx=c_pps a=gIfcoYsirJbf48DBMSPrZA==:117 a=gIfcoYsirJbf48DBMSPrZA==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=M5GUcnROAAAA:8 a=NGP3fZmBk5oLfH1lOsUA:9 a=OBjm3rFKGHvpk9ecZwUJ:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA1MDAyMSBTYWx0ZWRfXxgQuzJDDW+6t 3bSnBpMTjzgtLYeYTYhxbcURILUU6+/eeNq0OJHoJSAz+tglX/asUFTG5Ff7QhfP87vF1sVG3RT OaY1H+YDs8eTHzDoJRmauPmWN++KsvafeufdsCRsamJF3lwDU3MYaQUb2rPpyzIJYmP8HPEfuSp TbkiAwYD82IX88wcDMlWmU7H4Zbb6iSHbp/wIwcFCe2wARW2Kv3M2Hwq/pDxTCfKrRkkpO476zq ncmV8TAgsFAJmKqCToIr1dUgDYEgEYsuMqsd97RKAZeLKo5ZA5+J3UKSwbzpwd9ZjbwLzKdqwEL mEG+hrbPHzG9X9IZUx+iwchnG17QZXYY0aSR0AcZM9e33cuBbcgIuYhpuZIA0FPM0R3L9ixTZs6 hzLCjj3DWMb517z3Ao7MLsUl3niCJB0XRF9fHLMw7D6N47J5dBmt2ugnYbT1MCVguzzMRzmfp+9 ISC1CuHBravZdPlwdWg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-04_07,2025-12-31_01,2025-10-01_01 Content-Type: text/plain; charset="utf-8" From: Suman Ghosh Default mkex profile for cn20k silicon. This commit changes attribute of objects to may_be_unused to avoid compiler warning Signed-off-by: Suman Ghosh Signed-off-by: Ratheesh Kannoth --- .../ethernet/marvell/octeontx2/af/cn20k/npc.c | 170 +++++++++++++++++- .../ethernet/marvell/octeontx2/af/cn20k/npc.h | 18 ++ .../marvell/octeontx2/af/npc_profile.h | 72 ++++---- 3 files changed, 223 insertions(+), 37 deletions(-) diff --git a/drivers/net/ethernet/marvell/octeontx2/af/cn20k/npc.c b/driver= s/net/ethernet/marvell/octeontx2/af/cn20k/npc.c index 17f9c71ad0b8..48f49d70043e 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/cn20k/npc.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/cn20k/npc.c @@ -7,9 +7,13 @@ #include #include =20 +#include "rvu.h" +#include "npc.h" +#include "npc_profile.h" +#include "rvu_npc_hash.h" +#include "rvu_npc.h" #include "cn20k/npc.h" #include "cn20k/reg.h" -#include "rvu_npc.h" =20 static struct npc_priv_t npc_priv =3D { .num_banks =3D MAX_NUM_BANKS, @@ -21,6 +25,170 @@ static const char *npc_kw_name[NPC_MCAM_KEY_MAX] =3D { [NPC_MCAM_KEY_X4] =3D "X4", }; =20 +#define KEX_EXTR_CFG(bytesm1, hdr_ofs, ena, key_ofs) \ + (((bytesm1) << 16) | ((hdr_ofs) << 8) | ((ena) << 7) | \ + ((key_ofs) & 0x3F)) + +static struct npc_mcam_kex_extr npc_mkex_extr_default =3D { + .mkex_sign =3D MKEX_SIGN, + .name =3D "default", + .kpu_version =3D NPC_KPU_PROFILE_VER, + .keyx_cfg =3D { + /* nibble: LA..LE (ltype only) + Error code + Channel */ + [NIX_INTF_RX] =3D ((u64)NPC_MCAM_KEY_X2 << 32) | NPC_PARSE_NIBBLE_INTF_R= X | + (u64)NPC_EXACT_NIBBLE_HIT, + /* nibble: LA..LE (ltype only) */ + [NIX_INTF_TX] =3D ((u64)NPC_MCAM_KEY_X2 << 32) | NPC_PARSE_NIBBLE_INTF_T= X, + }, + .intf_extr_lid =3D { + /* Default RX MCAM KEX profile */ + [NIX_INTF_RX] =3D { NPC_LID_LA, NPC_LID_LA, NPC_LID_LB, NPC_LID_LB, + NPC_LID_LC, NPC_LID_LC, NPC_LID_LD }, + [NIX_INTF_TX] =3D { NPC_LID_LA, NPC_LID_LA, NPC_LID_LB, NPC_LID_LB, + NPC_LID_LC, NPC_LID_LD }, + }, + .intf_extr_lt =3D { + /* Default RX MCAM KEX profile */ + [NIX_INTF_RX] =3D { + [0] =3D { + /* Layer A: Ethernet: */ + [NPC_LT_LA_ETHER] =3D + /* DMAC: 6 bytes, KW1[55:8] */ + KEX_EXTR_CFG(0x05, 0x0, 0x1, NPC_KEXOF_DMAC), + [NPC_LT_LA_CPT_HDR] =3D + /* DMAC: 6 bytes, KW1[55:8] */ + KEX_EXTR_CFG(0x05, 0x0, 0x1, NPC_KEXOF_DMAC), + }, + [1] =3D { + /* Layer A: Ethernet: */ + [NPC_LT_LA_ETHER] =3D + /* Ethertype: 2 bytes, KW0[55:40] */ + KEX_EXTR_CFG(0x01, 0xc, 0x1, 0x5), + [NPC_LT_LA_CPT_HDR] =3D + /* Ethertype: 2 bytes, KW0[55:40] */ + KEX_EXTR_CFG(0x01, 0xc, 0x1, 0x5), + }, + [2] =3D { + /* Layer B: Single VLAN (CTAG) */ + [NPC_LT_LB_CTAG] =3D + /* CTAG VLAN: 2 bytes, KW1[7:0], KW0[63:56] */ + KEX_EXTR_CFG(0x01, 0x2, 0x1, 0x7), + /* Layer B: Stacked VLAN (STAG|QinQ) */ + [NPC_LT_LB_STAG_QINQ] =3D + /* Outer VLAN: 2 bytes, KW1[7:0], KW0[63:56] */ + KEX_EXTR_CFG(0x01, 0x2, 0x1, 0x7), + [NPC_LT_LB_FDSA] =3D + /* SWITCH PORT: 1 byte, KW0[63:56] */ + KEX_EXTR_CFG(0x0, 0x1, 0x1, 0x7), + }, + [3] =3D { + [NPC_LT_LB_CTAG] =3D + /* Ethertype: 2 bytes, KW0[55:40] */ + KEX_EXTR_CFG(0x01, 0x4, 0x1, 0x5), + [NPC_LT_LB_STAG_QINQ] =3D + /* Ethertype: 2 bytes, KW0[55:40] */ + KEX_EXTR_CFG(0x01, 0x8, 0x1, 0x5), + [NPC_LT_LB_FDSA] =3D + /* Ethertype: 2 bytes, KW0[55:40] */ + KEX_EXTR_CFG(0x01, 0x4, 0x1, 0x5), + }, + [4] =3D { + /* Layer C: IPv4 */ + [NPC_LT_LC_IP] =3D + /* SIP+DIP: 8 bytes, KW2[63:0] */ + KEX_EXTR_CFG(0x07, 0xc, 0x1, 0x10), + /* Layer C: IPv6 */ + [NPC_LT_LC_IP6] =3D + /* Everything up to SADDR: 8 bytes, KW2[63:0] */ + KEX_EXTR_CFG(0x07, 0x0, 0x1, 0x10), + }, + [5] =3D { + [NPC_LT_LC_IP] =3D + /* TOS: 1 byte, KW1[63:56] */ + KEX_EXTR_CFG(0x0, 0x1, 0x1, 0xf), + }, + [6] =3D { + /* Layer D:UDP */ + [NPC_LT_LD_UDP] =3D + /* SPORT+DPORT: 4 bytes, KW3[31:0] */ + KEX_EXTR_CFG(0x3, 0x0, 0x1, 0x18), + /* Layer D:TCP */ + [NPC_LT_LD_TCP] =3D + /* SPORT+DPORT: 4 bytes, KW3[31:0] */ + KEX_EXTR_CFG(0x3, 0x0, 0x1, 0x18), + }, + }, + + /* Default TX MCAM KEX profile */ + [NIX_INTF_TX] =3D { + [0] =3D { + /* Layer A: NIX_INST_HDR_S + Ethernet */ + /* NIX appends 8 bytes of NIX_INST_HDR_S at the + * start of each TX packet supplied to NPC. + */ + [NPC_LT_LA_IH_NIX_ETHER] =3D + /* PF_FUNC: 2B , KW0 [47:32] */ + KEX_EXTR_CFG(0x01, 0x0, 0x1, 0x4), + /* Layer A: HiGig2: */ + [NPC_LT_LA_IH_NIX_HIGIG2_ETHER] =3D + /* PF_FUNC: 2B , KW0 [47:32] */ + KEX_EXTR_CFG(0x01, 0x0, 0x1, 0x4), + }, + [1] =3D { + [NPC_LT_LA_IH_NIX_ETHER] =3D + /* SQ_ID 3 bytes, KW1[63:16] */ + KEX_EXTR_CFG(0x02, 0x02, 0x1, 0xa), + [NPC_LT_LA_IH_NIX_HIGIG2_ETHER] =3D + /* VID: 2 bytes, KW1[31:16] */ + KEX_EXTR_CFG(0x01, 0x10, 0x1, 0xa), + }, + [2] =3D { + /* Layer B: Single VLAN (CTAG) */ + [NPC_LT_LB_CTAG] =3D + /* CTAG VLAN[2..3] KW0[63:48] */ + KEX_EXTR_CFG(0x01, 0x2, 0x1, 0x6), + /* Layer B: Stacked VLAN (STAG|QinQ) */ + [NPC_LT_LB_STAG_QINQ] =3D + /* Outer VLAN: 2 bytes, KW0[63:48] */ + KEX_EXTR_CFG(0x01, 0x2, 0x1, 0x6), + }, + [3] =3D { + [NPC_LT_LB_CTAG] =3D + /* CTAG VLAN[2..3] KW1[15:0] */ + KEX_EXTR_CFG(0x01, 0x4, 0x1, 0x8), + [NPC_LT_LB_STAG_QINQ] =3D + /* Outer VLAN: 2 Bytes, KW1[15:0] */ + KEX_EXTR_CFG(0x01, 0x8, 0x1, 0x8), + }, + [4] =3D { + /* Layer C: IPv4 */ + [NPC_LT_LC_IP] =3D + /* SIP+DIP: 8 bytes, KW2[63:0] */ + KEX_EXTR_CFG(0x07, 0xc, 0x1, 0x10), + /* Layer C: IPv6 */ + [NPC_LT_LC_IP6] =3D + /* Everything up to SADDR: 8 bytes, KW2[63:0] */ + KEX_EXTR_CFG(0x07, 0x0, 0x1, 0x10), + }, + [5] =3D { + /* Layer D:UDP */ + [NPC_LT_LD_UDP] =3D + /* SPORT+DPORT: 4 bytes, KW3[31:0] */ + KEX_EXTR_CFG(0x3, 0x0, 0x1, 0x18), + /* Layer D:TCP */ + [NPC_LT_LD_TCP] =3D + /* SPORT+DPORT: 4 bytes, KW3[31:0] */ + KEX_EXTR_CFG(0x3, 0x0, 0x1, 0x18), + }, + }, + }, +}; + +struct npc_mcam_kex_extr *npc_mkex_extr_default_get(void) +{ + return &npc_mkex_extr_default; +} + static void npc_config_kpmcam(struct rvu *rvu, int blkaddr, const struct npc_kpu_profile_cam *kpucam, int kpm, int entry) diff --git a/drivers/net/ethernet/marvell/octeontx2/af/cn20k/npc.h b/driver= s/net/ethernet/marvell/octeontx2/af/cn20k/npc.h index 06b1eca1ef09..24a70f9aaec2 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/cn20k/npc.h +++ b/drivers/net/ethernet/marvell/octeontx2/af/cn20k/npc.h @@ -82,6 +82,23 @@ struct npc_kpm_action0 { #endif }; =20 +struct npc_mcam_kex_extr { + /* MKEX Profle Header */ + u64 mkex_sign; /* "mcam-kex-profile" (8 bytes/ASCII characters) */ + u8 name[MKEX_NAME_LEN]; /* MKEX Profile name */ + u64 cpu_model; /* Format as profiled by CPU hardware */ + u64 kpu_version; /* KPU firmware/profile version */ + u64 reserved; /* Reserved for extension */ + + /* MKEX Profle Data */ + u64 keyx_cfg[NPC_MAX_INTF]; /* NPC_AF_INTF(0..1)_KEX_CFG */ +#define NPC_MAX_EXTRACTOR 24 + /* MKEX Extractor data */ + u64 intf_extr_lid[NPC_MAX_INTF][NPC_MAX_EXTRACTOR]; + /* KEX configuration per extractor */ + u64 intf_extr_lt[NPC_MAX_INTF][NPC_MAX_EXTRACTOR][NPC_MAX_LT]; +} __packed; + struct rvu; =20 struct npc_priv_t *npc_priv_get(void); @@ -98,5 +115,6 @@ int npc_cn20k_idx_free(struct rvu *rvu, u16 *mcam_idx, i= nt count); int npc_cn20k_search_order_set(struct rvu *rvu, int (*arr)[2], int cnt); const int *npc_cn20k_search_order_get(bool *restricted_order); void npc_cn20k_parser_profile_init(struct rvu *rvu, int blkaddr); +struct npc_mcam_kex_extr *npc_mkex_extr_default_get(void); =20 #endif /* NPC_CN20K_H */ diff --git a/drivers/net/ethernet/marvell/octeontx2/af/npc_profile.h b/driv= ers/net/ethernet/marvell/octeontx2/af/npc_profile.h index 41de72c8607f..561b01fcdbde 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/npc_profile.h +++ b/drivers/net/ethernet/marvell/octeontx2/af/npc_profile.h @@ -489,7 +489,7 @@ enum NPC_ERRLEV_E { 0, 0, 0, 0, \ } =20 -static struct npc_kpu_profile_action ikpu_action_entries[] =3D { +static struct npc_kpu_profile_action ikpu_action_entries[] __maybe_unused = =3D { { NPC_ERRLEV_RE, NPC_EC_NOERR, 12, 16, 20, 0, 0, @@ -1068,7 +1068,7 @@ static struct npc_kpu_profile_action ikpu_action_entr= ies[] =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu1_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu1_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -1878,7 +1878,7 @@ static struct npc_kpu_profile_cam kpu1_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu2_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu2_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -2823,7 +2823,7 @@ static struct npc_kpu_profile_cam kpu2_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu3_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu3_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -3804,7 +3804,7 @@ static struct npc_kpu_profile_cam kpu3_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu4_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu4_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -4119,7 +4119,7 @@ static struct npc_kpu_profile_cam kpu4_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu5_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu5_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -5172,7 +5172,7 @@ static struct npc_kpu_profile_cam kpu5_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu6_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu6_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -5901,7 +5901,7 @@ static struct npc_kpu_profile_cam kpu6_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu7_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu7_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -6252,7 +6252,7 @@ static struct npc_kpu_profile_cam kpu7_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu8_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu8_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -7089,7 +7089,7 @@ static struct npc_kpu_profile_cam kpu8_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu9_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu9_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -7575,7 +7575,7 @@ static struct npc_kpu_profile_cam kpu9_cam_entries[] = =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu10_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu10_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -7746,7 +7746,7 @@ static struct npc_kpu_profile_cam kpu10_cam_entries[]= =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu11_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu11_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -8061,7 +8061,7 @@ static struct npc_kpu_profile_cam kpu11_cam_entries[]= =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu12_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu12_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -8322,7 +8322,7 @@ static struct npc_kpu_profile_cam kpu12_cam_entries[]= =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu13_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu13_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -8340,7 +8340,7 @@ static struct npc_kpu_profile_cam kpu13_cam_entries[]= =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu14_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu14_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -8358,7 +8358,7 @@ static struct npc_kpu_profile_cam kpu14_cam_entries[]= =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu15_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu15_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -8565,7 +8565,7 @@ static struct npc_kpu_profile_cam kpu15_cam_entries[]= =3D { }, }; =20 -static struct npc_kpu_profile_cam kpu16_cam_entries[] =3D { +static struct npc_kpu_profile_cam kpu16_cam_entries[] __maybe_unused =3D { NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, NPC_KPU_NOP_CAM, @@ -8628,7 +8628,7 @@ static struct npc_kpu_profile_cam kpu16_cam_entries[]= =3D { }, }; =20 -static struct npc_kpu_profile_action kpu1_action_entries[] =3D { +static struct npc_kpu_profile_action kpu1_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -9368,7 +9368,7 @@ static struct npc_kpu_profile_action kpu1_action_entr= ies[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu2_action_entries[] =3D { +static struct npc_kpu_profile_action kpu2_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -10209,7 +10209,7 @@ static struct npc_kpu_profile_action kpu2_action_en= tries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu3_action_entries[] =3D { +static struct npc_kpu_profile_action kpu3_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -11082,7 +11082,7 @@ static struct npc_kpu_profile_action kpu3_action_en= tries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu4_action_entries[] =3D { +static struct npc_kpu_profile_action kpu4_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -11363,7 +11363,7 @@ static struct npc_kpu_profile_action kpu4_action_en= tries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu5_action_entries[] =3D { +static struct npc_kpu_profile_action kpu5_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -12300,7 +12300,7 @@ static struct npc_kpu_profile_action kpu5_action_en= tries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu6_action_entries[] =3D { +static struct npc_kpu_profile_action kpu6_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -12949,7 +12949,7 @@ static struct npc_kpu_profile_action kpu6_action_en= tries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu7_action_entries[] =3D { +static struct npc_kpu_profile_action kpu7_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -13262,7 +13262,7 @@ static struct npc_kpu_profile_action kpu7_action_en= tries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu8_action_entries[] =3D { +static struct npc_kpu_profile_action kpu8_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -14007,7 +14007,7 @@ static struct npc_kpu_profile_action kpu8_action_en= tries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu9_action_entries[] =3D { +static struct npc_kpu_profile_action kpu9_action_entries[] __maybe_unused = =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -14440,7 +14440,7 @@ static struct npc_kpu_profile_action kpu9_action_en= tries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu10_action_entries[] =3D { +static struct npc_kpu_profile_action kpu10_action_entries[] __maybe_unused= =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -14593,7 +14593,7 @@ static struct npc_kpu_profile_action kpu10_action_e= ntries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu11_action_entries[] =3D { +static struct npc_kpu_profile_action kpu11_action_entries[] __maybe_unused= =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -14874,7 +14874,7 @@ static struct npc_kpu_profile_action kpu11_action_e= ntries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu12_action_entries[] =3D { +static struct npc_kpu_profile_action kpu12_action_entries[] __maybe_unused= =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -15107,7 +15107,7 @@ static struct npc_kpu_profile_action kpu12_action_e= ntries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu13_action_entries[] =3D { +static struct npc_kpu_profile_action kpu13_action_entries[] __maybe_unused= =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -15124,7 +15124,7 @@ static struct npc_kpu_profile_action kpu13_action_e= ntries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu14_action_entries[] =3D { +static struct npc_kpu_profile_action kpu14_action_entries[] __maybe_unused= =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -15141,7 +15141,7 @@ static struct npc_kpu_profile_action kpu14_action_e= ntries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu15_action_entries[] =3D { +static struct npc_kpu_profile_action kpu15_action_entries[] __maybe_unused= =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -15326,7 +15326,7 @@ static struct npc_kpu_profile_action kpu15_action_e= ntries[] =3D { }, }; =20 -static struct npc_kpu_profile_action kpu16_action_entries[] =3D { +static struct npc_kpu_profile_action kpu16_action_entries[] __maybe_unused= =3D { NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, NPC_KPU_NOP_ACTION, @@ -15383,7 +15383,7 @@ static struct npc_kpu_profile_action kpu16_action_e= ntries[] =3D { }, }; =20 -static struct npc_kpu_profile npc_kpu_profiles[] =3D { +static struct npc_kpu_profile npc_kpu_profiles[] __maybe_unused =3D { { ARRAY_SIZE(kpu1_cam_entries), ARRAY_SIZE(kpu1_action_entries), @@ -15482,7 +15482,7 @@ static struct npc_kpu_profile npc_kpu_profiles[] = =3D { }, }; =20 -static struct npc_lt_def_cfg npc_lt_defaults =3D { +static struct npc_lt_def_cfg npc_lt_defaults __maybe_unused =3D { .rx_ol2 =3D { .lid =3D NPC_LID_LA, .ltype_match =3D NPC_LT_LA_ETHER, @@ -15604,7 +15604,7 @@ static struct npc_lt_def_cfg npc_lt_defaults =3D { }, }; =20 -static struct npc_mcam_kex npc_mkex_default =3D { +static struct npc_mcam_kex npc_mkex_default __maybe_unused =3D { .mkex_sign =3D MKEX_SIGN, .name =3D "default", .kpu_version =3D NPC_KPU_PROFILE_VER, --=20 2.43.0