From 27c5c59aaf29236ba178ad18e399d3d6d9574739 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Mon, 17 Jan 2022 15:22:18 +0000 Subject: [PATCH] crypto/qat: fix raw data path aead This patch fixes raw data path AEAD operation for 4th QAT generation. Fixes: 328d690d2f60 ("crypto/qat: update raw data path") Signed-off-by: Fan Zhang --- drivers/crypto/qat/qat_sym_hw_dp.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/qat/qat_sym_hw_dp.c b/drivers/crypto/qat/qat_sym_hw_dp.c index 12825e448b..02875b822e 100644 --- a/drivers/crypto/qat/qat_sym_hw_dp.c +++ b/drivers/crypto/qat/qat_sym_hw_dp.c @@ -520,6 +520,8 @@ enqueue_one_aead_job(struct qat_sym_session *ctx, { struct icp_qat_fw_la_cipher_req_params *cipher_param = (void *)&req->serv_specif_rqpars; + struct icp_qat_fw_la_cipher_20_req_params *cipher_param20 = + (void *)&req->serv_specif_rqpars; struct icp_qat_fw_la_auth_req_params *auth_param = (void *)((uint8_t *)&req->serv_specif_rqpars + ICP_QAT_FW_HASH_REQUEST_PARAMETERS_OFFSET); @@ -533,8 +535,13 @@ 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) { + cipher_param20->spc_aad_addr = aad->iova; + cipher_param20->spc_auth_res_addr = digest->iova; + } else { + cipher_param->spc_aad_addr = aad->iova; + cipher_param->spc_auth_res_addr = digest->iova; + } return; } -- 2.25.1