]> git.droids-corp.org - dpdk.git/commitdiff
crypto/qat: fix GEN4 AEAD job in raw data path
authorKai Ji <kai.ji@intel.com>
Fri, 21 Jan 2022 10:38:30 +0000 (10:38 +0000)
committerAkhil Goyal <gakhil@marvell.com>
Sat, 12 Feb 2022 09:26:38 +0000 (10:26 +0100)
This patch fix the cipher params configuration in AEAD job if
QAT GEN4 unified cipher slice(UCS) enabled.

Fixes: 328d690d2f60 ("crypto/qat: update raw data path")
Cc: stable@dpdk.org
Signed-off-by: Kai Ji <kai.ji@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
drivers/crypto/qat/qat_sym_hw_dp.c

index 12825e448bba05a9be1fc0f7dc43e88c9e6bab12..792ad2b2134b05590930b2c47cf9d4b4ed453cb1 100644 (file)
@@ -533,8 +533,20 @@ enqueue_one_aead_job(struct qat_sym_session *ctx,
        /* CPM 1.7 uses single pass to treat AEAD as cipher operation */
        if (ctx->is_single_pass) {
                enqueue_one_cipher_job(ctx, req, iv, ofs, data_len);
-               cipher_param->spc_aad_addr = aad->iova;
-               cipher_param->spc_auth_res_addr = digest->iova;
+
+               if (ctx->is_ucs) {
+                       /* QAT GEN4 uses single pass to treat AEAD as cipher
+                        * operation
+                        */
+                       struct icp_qat_fw_la_cipher_20_req_params *cipher_param_20 =
+                               (void *)&req->serv_specif_rqpars;
+                       cipher_param_20->spc_aad_addr = aad->iova;
+                       cipher_param_20->spc_auth_res_addr = digest->iova;
+               } else {
+                       cipher_param->spc_aad_addr = aad->iova;
+                       cipher_param->spc_auth_res_addr = digest->iova;
+               }
+
                return;
        }