On Wed, Jan 28, 2026 at 11:44 AM Rahul Bhansali <[email protected]> wrote: > > With compiler option '-Wduplicated-branches', getting few > warnings such as "this condition has identical branches". > > Macros are updated to address these warnings. > > Bugzilla ID: 1811 > Fixes: 0d9e323bacf0 ("common/cnxk: support for CN20K inline IPsec") > Fixes: c045d2e5cbbc ("common/cnxk: add CPT configuration") > > Signed-off-by: Rahul Bhansali <[email protected]>
Please check AI the comments in https://patches.dpdk.org/project/dpdk/patch/[email protected]/ 1)Please fix Is it candidate for Cc: [email protected] backport? common/cnxk: fix engine capabilities fetch logic common/cnxk: fix CPT CQ roll over handling common/cnxk: fix duplicate branch compiler warning 2)Add new feature to release notes 3)Some of the changes are fixes: and mark the as fixes > --- > drivers/common/cnxk/hw/rvu.h | 2 ++ > drivers/common/cnxk/roc_cpt.c | 7 +++---- > drivers/common/cnxk/roc_nix_inl.c | 25 +++++++++---------------- > drivers/common/cnxk/roc_nix_inl_dev.c | 6 +----- > drivers/common/cnxk/roc_nix_inl_dp.h | 3 +++ > drivers/common/cnxk/roc_nix_priv.h | 4 ++-- > 6 files changed, 20 insertions(+), 27 deletions(-) > > diff --git a/drivers/common/cnxk/hw/rvu.h b/drivers/common/cnxk/hw/rvu.h > index ed2ba996e0..6f02d1e3d2 100644 > --- a/drivers/common/cnxk/hw/rvu.h > +++ b/drivers/common/cnxk/hw/rvu.h > @@ -105,6 +105,8 @@ > #define RVU_VF_MBOX_REGION (0xc0000ull) /* [CN10K, .) */ > #define RVU_VF_MSIX_PBAX(a) (0xf0000ull | (uint64_t)(a) << 3) > > +#define RVU_BLOCK_ADDRX_DISC(a) RVU_PF_BLOCK_ADDRX_DISC(a) > + > /* CN20k RVU mbox registers */ > #define RVU_MBOX_AF_AFPFX_TRIGX(a) (0x9000 | (a) << 3) > #define RVU_MBOX_PF_PFAF_TRIGX(a) RVU_PF_PFAF_MBOXX(a) > diff --git a/drivers/common/cnxk/roc_cpt.c b/drivers/common/cnxk/roc_cpt.c > index 63419884ac..13eb9d3767 100644 > --- a/drivers/common/cnxk/roc_cpt.c > +++ b/drivers/common/cnxk/roc_cpt.c > @@ -677,10 +677,9 @@ cpt_get_blkaddr(struct dev *dev) > * attached to. Assume CPT LF's of only one block are attached > * to a pffunc. > */ > - if (dev_is_vf(dev)) > - off = RVU_VF_BLOCK_ADDRX_DISC(RVU_BLOCK_ADDR_CPT1); > - else > - off = RVU_PF_BLOCK_ADDRX_DISC(RVU_BLOCK_ADDR_CPT1); > + > + /* PF and VF block address offset is same, hence using common offset > */ > + off = RVU_BLOCK_ADDRX_DISC(RVU_BLOCK_ADDR_CPT1); > > reg = plt_read64(dev->bar2 + off); > > diff --git a/drivers/common/cnxk/roc_nix_inl.c > b/drivers/common/cnxk/roc_nix_inl.c > index aad2631673..a21c40acf1 100644 > --- a/drivers/common/cnxk/roc_nix_inl.c > +++ b/drivers/common/cnxk/roc_nix_inl.c > @@ -19,6 +19,10 @@ PLT_STATIC_ASSERT(ROC_NIX_INL_OT_IPSEC_INB_SA_SZ == > PLT_STATIC_ASSERT(ROC_NIX_INL_OT_IPSEC_INB_SA_SZ == 1024); > PLT_STATIC_ASSERT(ROC_NIX_INL_OT_IPSEC_OUTB_SA_SZ == > 1UL << ROC_NIX_INL_OT_IPSEC_OUTB_SA_SZ_LOG2); > +PLT_STATIC_ASSERT(ROC_NIX_INL_OT_IPSEC_INB_SA_SZ == > ROC_NIX_INL_OW_IPSEC_INB_SA_SZ); > +PLT_STATIC_ASSERT(ROC_NIX_INL_OT_IPSEC_INB_SA_SZ == > ROC_NIX_INL_ON_IPSEC_INB_SA_SZ); > +PLT_STATIC_ASSERT(ROC_NIX_INL_OT_IPSEC_OUTB_SA_SZ == > ROC_NIX_INL_OW_IPSEC_OUTB_SA_SZ); > +PLT_STATIC_ASSERT(ROC_NIX_INL_OT_IPSEC_OUTB_SA_SZ == > ROC_NIX_INL_ON_IPSEC_OUTB_SA_SZ); > > static int > nix_inl_meta_aura_destroy(struct roc_nix *roc_nix) > @@ -427,12 +431,8 @@ nix_inl_inb_ipsec_sa_tbl_setup(struct roc_nix *roc_nix) > /* CN9K SA size is different */ > if (roc_nix->custom_inb_sa) > inb_sa_sz = ROC_NIX_INL_INB_CUSTOM_SA_SZ; > - else if (roc_model_is_cn9k()) > - inb_sa_sz = ROC_NIX_INL_ON_IPSEC_INB_SA_SZ; > - else if (roc_model_is_cn10k()) > - inb_sa_sz = ROC_NIX_INL_OT_IPSEC_INB_SA_SZ; > else > - inb_sa_sz = ROC_NIX_INL_OW_IPSEC_INB_SA_SZ; > + inb_sa_sz = ROC_NIX_INL_IPSEC_INB_SA_SZ; > > /* Alloc contiguous memory for Inbound SA's */ > nix->inb_sa_sz[profile_id] = inb_sa_sz; > @@ -1198,10 +1198,9 @@ nix_inl_eng_caps_get(struct nix *nix) > inst.rptr = (uint64_t)rptr; > inst.w4.s.opcode_major = ROC_LOADFVC_MAJOR_OP; > inst.w4.s.opcode_minor = ROC_LOADFVC_MINOR_OP; > - if (roc_model_is_cn9k() || roc_model_is_cn10k()) > - inst.w7.s.egrp = ROC_LEGACY_CPT_DFLT_ENG_GRP_SE; > - else > - inst.w7.s.egrp = ROC_CPT_DFLT_ENG_GRP_SE; > + > + /* SE engine group ID is same for all platform */ > + inst.w7.s.egrp = ROC_CPT_DFLT_ENG_GRP_SE; > > /* Use 1 min timeout for the poll */ > const uint64_t timeout = plt_tsc_cycles() + 60 * plt_tsc_hz(); > @@ -1614,13 +1613,7 @@ roc_nix_inl_outb_init(struct roc_nix *roc_nix) > if (!roc_nix->ipsec_out_max_sa) > goto skip_sa_alloc; > > - /* CN9K SA size is different */ > - if (roc_model_is_cn9k()) > - sa_sz = ROC_NIX_INL_ON_IPSEC_OUTB_SA_SZ; > - else if (roc_model_is_cn10k()) > - sa_sz = ROC_NIX_INL_OT_IPSEC_OUTB_SA_SZ; > - else > - sa_sz = ROC_NIX_INL_OW_IPSEC_OUTB_SA_SZ; > + sa_sz = ROC_NIX_INL_IPSEC_OUTB_SA_SZ; > > /* Alloc contiguous memory of outbound SA */ > sa_base = plt_zmalloc(sa_sz * roc_nix->ipsec_out_max_sa, > diff --git a/drivers/common/cnxk/roc_nix_inl_dev.c > b/drivers/common/cnxk/roc_nix_inl_dev.c > index fcbe9314a1..8414b9edc6 100644 > --- a/drivers/common/cnxk/roc_nix_inl_dev.c > +++ b/drivers/common/cnxk/roc_nix_inl_dev.c > @@ -837,12 +837,8 @@ nix_inl_nix_setup(struct nix_inl_dev *inl_dev) > /* CN9K SA is different */ > if (inl_dev->custom_inb_sa) > inb_sa_sz = ROC_NIX_INL_INB_CUSTOM_SA_SZ; > - else if (roc_model_is_cn9k()) > - inb_sa_sz = ROC_NIX_INL_ON_IPSEC_INB_SA_SZ; > - else if (roc_model_is_cn10k()) > - inb_sa_sz = ROC_NIX_INL_OT_IPSEC_INB_SA_SZ; > else > - inb_sa_sz = ROC_NIX_INL_OW_IPSEC_INB_SA_SZ; > + inb_sa_sz = ROC_NIX_INL_OT_IPSEC_INB_SA_SZ; > > /* Alloc contiguous memory for Inbound SA's */ > inl_dev->inb_sa_sz[profile_id] = inb_sa_sz; > diff --git a/drivers/common/cnxk/roc_nix_inl_dp.h > b/drivers/common/cnxk/roc_nix_inl_dp.h > index eb101db179..6443770871 100644 > --- a/drivers/common/cnxk/roc_nix_inl_dp.h > +++ b/drivers/common/cnxk/roc_nix_inl_dp.h > @@ -41,6 +41,9 @@ > (ROC_NIX_INL_OW_IPSEC_OUTB_HW_SZ + ROC_NIX_INL_OW_IPSEC_OUTB_SW_RSVD) > #define ROC_NIX_INL_OW_IPSEC_OUTB_SA_SZ_LOG2 9 > > +#define ROC_NIX_INL_IPSEC_INB_SA_SZ ROC_NIX_INL_OT_IPSEC_INB_SA_SZ > +#define ROC_NIX_INL_IPSEC_OUTB_SA_SZ ROC_NIX_INL_OT_IPSEC_OUTB_SA_SZ > + > /* Alignment of SA Base */ > #define ROC_NIX_INL_SA_BASE_ALIGN BIT_ULL(16) > > diff --git a/drivers/common/cnxk/roc_nix_priv.h > b/drivers/common/cnxk/roc_nix_priv.h > index 308a62a70e..d4b3c7c1af 100644 > --- a/drivers/common/cnxk/roc_nix_priv.h > +++ b/drivers/common/cnxk/roc_nix_priv.h > @@ -23,10 +23,10 @@ > #define NIX_CQ_SEC_THRESH_LEVEL_REF1 (20 * 256 / 100) > #define NIX_CQ_BP_THRESH_LEVEL_REF1 (60 * 256 / 100) > #define NIX_CQ_SEC_BP_THRESH_LEVEL_REF1 (50 * 256 / 100) > -#define NIX_CQ_LBP_THRESH_FRAC_REF1 (80 * 16 / 100) > +#define NIX_CQ_LBP_THRESH_FRAC_REF1 (80 * 16 / 100.0) > > /* Apply LBP at 75% of actual BP */ > -#define NIX_CQ_LBP_THRESH_FRAC (75 * 16 / 100) > +#define NIX_CQ_LBP_THRESH_FRAC (75 * 16 / 100.0) > #define NIX_CQ_FULL_ERRATA_SKID (1024ull * 256) > #define NIX_RQ_AURA_BP_THRESH(percent, limit, shift) ((((limit) * (percent)) > / 100) >> (shift)) > > -- > 2.34.1 >

