• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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