hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/drivers/crypto/qat/qat_common/qat_crypto.h
....@@ -1,49 +1,5 @@
1
-/*
2
- This file is provided under a dual BSD/GPLv2 license. When using or
3
- redistributing this file, you may do so under either license.
4
-
5
- GPL LICENSE SUMMARY
6
- Copyright(c) 2014 Intel Corporation.
7
- This program is free software; you can redistribute it and/or modify
8
- it under the terms of version 2 of the GNU General Public License as
9
- published by the Free Software Foundation.
10
-
11
- This program is distributed in the hope that it will be useful, but
12
- WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- General Public License for more details.
15
-
16
- Contact Information:
17
- qat-linux@intel.com
18
-
19
- BSD LICENSE
20
- Copyright(c) 2014 Intel Corporation.
21
- Redistribution and use in source and binary forms, with or without
22
- modification, are permitted provided that the following conditions
23
- are met:
24
-
25
- * Redistributions of source code must retain the above copyright
26
- notice, this list of conditions and the following disclaimer.
27
- * Redistributions in binary form must reproduce the above copyright
28
- notice, this list of conditions and the following disclaimer in
29
- the documentation and/or other materials provided with the
30
- distribution.
31
- * Neither the name of Intel Corporation nor the names of its
32
- contributors may be used to endorse or promote products derived
33
- from this software without specific prior written permission.
34
-
35
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46
-*/
1
+/* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only) */
2
+/* Copyright(c) 2014 - 2020 Intel Corporation */
473 #ifndef _QAT_CRYPTO_INSTANCE_H_
484 #define _QAT_CRYPTO_INSTANCE_H_
495
....@@ -64,6 +20,26 @@
6420 atomic_t refctr;
6521 };
6622
23
+#define QAT_MAX_BUFF_DESC 4
24
+
25
+struct qat_alg_buf {
26
+ u32 len;
27
+ u32 resrvd;
28
+ u64 addr;
29
+} __packed;
30
+
31
+struct qat_alg_buf_list {
32
+ u64 resrvd;
33
+ u32 num_bufs;
34
+ u32 num_mapped_bufs;
35
+ struct qat_alg_buf bufers[];
36
+} __packed;
37
+
38
+struct qat_alg_fixed_buf_list {
39
+ struct qat_alg_buf_list sgl_hdr;
40
+ struct qat_alg_buf descriptors[QAT_MAX_BUFF_DESC];
41
+} __packed __aligned(64);
42
+
6743 struct qat_crypto_request_buffs {
6844 struct qat_alg_buf_list *bl;
6945 dma_addr_t blp;
....@@ -71,6 +47,10 @@
7147 dma_addr_t bloutp;
7248 size_t sz;
7349 size_t sz_out;
50
+ bool sgl_src_valid;
51
+ bool sgl_dst_valid;
52
+ struct qat_alg_fixed_buf_list sgl_src;
53
+ struct qat_alg_fixed_buf_list sgl_dst;
7454 };
7555
7656 struct qat_crypto_request;
....@@ -79,15 +59,17 @@
7959 struct icp_qat_fw_la_bulk_req req;
8060 union {
8161 struct qat_alg_aead_ctx *aead_ctx;
82
- struct qat_alg_ablkcipher_ctx *ablkcipher_ctx;
62
+ struct qat_alg_skcipher_ctx *skcipher_ctx;
8363 };
8464 union {
8565 struct aead_request *aead_req;
86
- struct ablkcipher_request *ablkcipher_req;
66
+ struct skcipher_request *skcipher_req;
8767 };
8868 struct qat_crypto_request_buffs buf;
8969 void (*cb)(struct icp_qat_fw_la_resp *resp,
9070 struct qat_crypto_request *req);
71
+ void *iv;
72
+ dma_addr_t iv_paddr;
9173 };
9274
9375 #endif