summaryrefslogtreecommitdiffstats
path: root/build/external/patches/dpdk_21.11/0002-crypto-qat-fix-raw-data-path-aead.patch
blob: 5e74f26c3597cd9753472a48fe5f40ca55279415 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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