Hi, > -----Original Message----- > From: Hemant Agrawal (OSS) <hemant.agra...@oss.nxp.com> > Sent: Tuesday, May 20, 2025 11:49 AM > To: Gagandeep Singh <g.si...@nxp.com>; dev@dpdk.org; Hemant Agrawal > <hemant.agra...@nxp.com>; Sachin Saxena <sachin.sax...@nxp.com> > Subject: Re: [PATCH 3/9] common/dpaax: support 12bit SN in pdcp uplane > > > On 20-05-2025 11:21, Gagandeep Singh wrote: > > update pdcp_insert_uplane_no_int_op() to support 12bit SN size > > > > Signed-off-by: Gagandeep Singh <g.si...@nxp.com> > > --- > > drivers/common/dpaax/caamflib/desc/pdcp.h | 13 ++++++------- > > 1 file changed, 6 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/common/dpaax/caamflib/desc/pdcp.h > b/drivers/common/dpaax/caamflib/desc/pdcp.h > > index c90eff26a8..55159d53f0 100644 > > --- a/drivers/common/dpaax/caamflib/desc/pdcp.h > > +++ b/drivers/common/dpaax/caamflib/desc/pdcp.h > > @@ -1988,10 +1988,10 @@ pdcp_insert_uplane_no_int_op(struct program *p, > > return 0; > > } > > > > - if (sn_size == PDCP_SN_SIZE_15) { > > + if (sn_size == PDCP_SN_SIZE_12) { > > SEQLOAD(p, MATH0, 6, 2, 0); > > - sn_mask = (swap == false) ? PDCP_U_PLANE_15BIT_SN_MASK : > > - PDCP_U_PLANE_15BIT_SN_MASK_BE; > > + sn_mask = (swap == false) ? PDCP_12BIT_SN_MASK : > > + PDCP_12BIT_SN_MASK_BE; > how the 15 bit will be handled now? Just above this change, we are handling 15bit case via PROTOCOL instruction: if ((sn_size == PDCP_SN_SIZE_15)) { PROTOCOL(p, dir, OP_PCLID_LTE_PDCP_USER, (uint16_t)cipherdata->algtype); return 0; }
> > } else { /* SN Size == PDCP_SN_SIZE_18 */ > > SEQLOAD(p, MATH0, 5, 3, 0); > > sn_mask = (swap == false) ? PDCP_U_PLANE_18BIT_SN_MASK : > > @@ -2000,7 +2000,7 @@ pdcp_insert_uplane_no_int_op(struct program *p, > > JUMP(p, 1, LOCAL_JUMP, ALL_TRUE, CALM); > > MATHB(p, MATH0, AND, sn_mask, MATH1, 8, IFB | IMMED2); > > > > - if (sn_size == PDCP_SN_SIZE_15) > > + if (sn_size == PDCP_SN_SIZE_12) > > SEQSTORE(p, MATH0, 6, 2, 0); > > else /* SN Size == PDCP_SN_SIZE_18 */ > > SEQSTORE(p, MATH0, 5, 3, 0); > > @@ -2047,7 +2047,7 @@ pdcp_insert_uplane_no_int_op(struct program *p, > > > > default: > > pr_err("%s: Invalid encrypt algorithm selected: %d\n", > > - "pdcp_insert_uplane_15bit_op", cipherdata->algtype); > > + "pdcp_insert_uplane_no_int_op", cipherdata->algtype); > > Why not use DPDK LOG APIs? > > also, why not use __func__ ? pr_err is defined as RTE_LOG in drivers/common/dpaax/caamflib/compat.h and __func__ is part of it. > > > return -EINVAL; > > } > > > > @@ -2734,8 +2734,7 @@ cnstr_shdsc_pdcp_u_plane_encap(uint32_t > *descbuf, > > cipherdata->algtype == > PDCP_CIPHER_TYPE_AES > > && !authdata > > && sn_size == PDCP_SN_SIZE_12) { > > - err = pdcp_insert_cplane_enc_only_op(p, swap, > cipherdata, > > - authdata, > > + err = pdcp_insert_uplane_no_int_op(p, swap, > cipherdata, > > OP_TYPE_ENCAP_PROTOCOL, > sn_size); > > if (err) > > return err;