1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* Copyright (C) 2012-2019 ARM Limited (or its affiliates). */ |
3 | |
4 | /* \file cc_cipher.h |
5 | * ARM CryptoCell Cipher Crypto API |
6 | */ |
7 | |
8 | #ifndef __CC_CIPHER_H__ |
9 | #define __CC_CIPHER_H__ |
10 | |
11 | #include <linux/kernel.h> |
12 | #include <crypto/algapi.h> |
13 | #include "cc_driver.h" |
14 | #include "cc_buffer_mgr.h" |
15 | |
16 | struct cipher_req_ctx { |
17 | struct async_gen_req_ctx gen_ctx; |
18 | enum cc_req_dma_buf_type dma_buf_type; |
19 | u32 in_nents; |
20 | u32 in_mlli_nents; |
21 | u32 out_nents; |
22 | u32 out_mlli_nents; |
23 | u8 *iv; |
24 | struct mlli_params mlli_params; |
25 | }; |
26 | |
27 | int cc_cipher_alloc(struct cc_drvdata *drvdata); |
28 | |
29 | int cc_cipher_free(struct cc_drvdata *drvdata); |
30 | |
31 | struct cc_hkey_info { |
32 | u16 keylen; |
33 | u8 hw_key1; |
34 | u8 hw_key2; |
35 | } __packed; |
36 | |
37 | #define CC_HW_KEY_SIZE sizeof(struct cc_hkey_info) |
38 | |
39 | #endif /*__CC_CIPHER_H__*/ |
40 | |