@@ -444,14 +444,15 @@ cn20k_nix_prep_sec_vec(struct rte_mbuf *m, uint64x2_t *cmd0, uint64x2_t *cmd1,
444444 uint32_t pkt_len , dlen_adj , rlen ;
445445 uint8_t l3l4type , chksum ;
446446 uint64x2_t cmd01 , cmd23 ;
447+ uint64_t sa , cpt_cq_ena ;
447448 uint8_t l2_len , l3_len ;
448449 uintptr_t dptr , nixtx ;
449450 uint64_t ucode_cmd [4 ];
450451 uint64_t * laddr , w0 ;
451452 uint16_t tag ;
452- uint64_t sa ;
453453
454454 sess_priv .u64 = * rte_security_dynfield (m );
455+ cpt_cq_ena = sess_priv .cpt_cq_ena ;
455456
456457 if (flags & NIX_TX_NEED_SEND_HDR_W1 ) {
457458 /* Extract l3l4type either from il3il4type or ol3ol4type */
@@ -530,7 +531,7 @@ cn20k_nix_prep_sec_vec(struct rte_mbuf *m, uint64x2_t *cmd0, uint64x2_t *cmd1,
530531 cmd01 = vdupq_n_u64 (0 );
531532 cmd01 = vsetq_lane_u64 (w0 , cmd01 , 0 );
532533 /* CPT_RES_S is 16B above NIXTX */
533- cmd01 = vsetq_lane_u64 (nixtx - 16 , cmd01 , 1 );
534+ cmd01 = vsetq_lane_u64 (( nixtx - 16 ) | cpt_cq_ena << 63 , cmd01 , 1 );
534535
535536 /* Return nixtx addr */
536537 * nixtx_addr = nixtx ;
@@ -577,15 +578,16 @@ cn20k_nix_prep_sec(struct rte_mbuf *m, uint64_t *cmd, uintptr_t *nixtx_addr, uin
577578 uint8_t l3l4type , chksum ;
578579 uint64x2_t cmd01 , cmd23 ;
579580 union nix_send_sg_s * sg ;
581+ uint64_t sa , cpt_cq_ena ;
580582 uint8_t l2_len , l3_len ;
581583 uintptr_t dptr , nixtx ;
582584 uint64_t ucode_cmd [4 ];
583585 uint64_t * laddr , w0 ;
584586 uint16_t tag ;
585- uint64_t sa ;
586587
587588 /* Move to our line from base */
588589 sess_priv .u64 = * rte_security_dynfield (m );
590+ cpt_cq_ena = sess_priv .cpt_cq_ena ;
589591 send_hdr = (struct nix_send_hdr_s * )cmd ;
590592 if (flags & NIX_TX_NEED_EXT_HDR )
591593 sg = (union nix_send_sg_s * )& cmd [4 ];
@@ -668,7 +670,8 @@ cn20k_nix_prep_sec(struct rte_mbuf *m, uint64_t *cmd, uintptr_t *nixtx_addr, uin
668670 cmd01 = vdupq_n_u64 (0 );
669671 cmd01 = vsetq_lane_u64 (w0 , cmd01 , 0 );
670672 /* CPT_RES_S is 16B above NIXTX */
671- cmd01 = vsetq_lane_u64 (nixtx - 16 , cmd01 , 1 );
673+ /* CQ_ENA for cpt */
674+ cmd01 = vsetq_lane_u64 ((nixtx - 16 ) | cpt_cq_ena << 63 , cmd01 , 1 );
672675
673676 /* Return nixtx addr */
674677 * nixtx_addr = nixtx ;
0 commit comments