48 lines
1.7 KiB
Diff
48 lines
1.7 KiB
Diff
|
From 27c5c59aaf29236ba178ad18e399d3d6d9574739 Mon Sep 17 00:00:00 2001
|
||
|
From: Fan Zhang <roy.fan.zhang@intel.com>
|
||
|
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 <roy.fan.zhang@intel.com>
|
||
|
---
|
||
|
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
|
||
|
|