File Index
Files and directories
Sign in
FILE

eip93-cipher.h

File preview with syntax highlighting.

linux-6.19.14/drivers/crypto/inside-secure/eip93/eip93-cipher.h C
 1/* SPDX-License-Identifier: GPL-2.0
 2 *
 3 * Copyright (C) 2019 - 2021
 4 *
 5 * Richard van Schagen <vschagen@icloud.com>
 6 * Christian Marangi <ansuelsmth@gmail.com
 7 */
 8#ifndef _EIP93_CIPHER_H_
 9#define _EIP93_CIPHER_H_
10
11#include "eip93-main.h"
12
13struct eip93_crypto_ctx {
14	struct eip93_device		*eip93;
15	u32				flags;
16	struct sa_record		*sa_record;
17	u32				sa_nonce;
18	int				blksize;
19	dma_addr_t			sa_record_base;
20	/* AEAD specific */
21	unsigned int			authsize;
22	unsigned int			assoclen;
23	bool				set_assoc;
24	enum eip93_alg_type		type;
25};
26
27struct eip93_cipher_reqctx {
28	u16				desc_flags;
29	u16				flags;
30	unsigned int			blksize;
31	unsigned int			ivsize;
32	unsigned int			textsize;
33	unsigned int			assoclen;
34	unsigned int			authsize;
35	dma_addr_t			sa_record_base;
36	struct sa_state			*sa_state;
37	dma_addr_t			sa_state_base;
38	struct eip93_descriptor		*cdesc;
39	struct scatterlist		*sg_src;
40	struct scatterlist		*sg_dst;
41	int				src_nents;
42	int				dst_nents;
43	struct sa_state			*sa_state_ctr;
44	dma_addr_t			sa_state_ctr_base;
45};
46
47int check_valid_request(struct eip93_cipher_reqctx *rctx);
48
49void eip93_unmap_dma(struct eip93_device *eip93, struct eip93_cipher_reqctx *rctx,
50		     struct scatterlist *reqsrc, struct scatterlist *reqdst);
51
52void eip93_skcipher_handle_result(struct crypto_async_request *async, int err);
53
54int eip93_send_req(struct crypto_async_request *async,
55		   const u8 *reqiv, struct eip93_cipher_reqctx *rctx);
56
57void eip93_handle_result(struct eip93_device *eip93, struct eip93_cipher_reqctx *rctx,
58			 u8 *reqiv);
59
60#endif /* _EIP93_CIPHER_H_ */
~/ Read-only file preview.