xref: /openbmc/linux/include/crypto/pcrypt.h (revision 94d964e5)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * pcrypt - Parallel crypto engine.
4  *
5  * Copyright (C) 2009 secunet Security Networks AG
6  * Copyright (C) 2009 Steffen Klassert <steffen.klassert@secunet.com>
7  */
8 
9 #ifndef _CRYPTO_PCRYPT_H
10 #define _CRYPTO_PCRYPT_H
11 
12 #include <linux/container_of.h>
13 #include <linux/crypto.h>
14 #include <linux/padata.h>
15 
16 struct pcrypt_request {
17 	struct padata_priv	padata;
18 	void			*data;
19 	void			*__ctx[] CRYPTO_MINALIGN_ATTR;
20 };
21 
22 static inline void *pcrypt_request_ctx(struct pcrypt_request *req)
23 {
24 	return req->__ctx;
25 }
26 
27 static inline
28 struct padata_priv *pcrypt_request_padata(struct pcrypt_request *req)
29 {
30 	return &req->padata;
31 }
32 
33 static inline
34 struct pcrypt_request *pcrypt_padata_request(struct padata_priv *padata)
35 {
36 	return container_of(padata, struct pcrypt_request, padata);
37 }
38 
39 #endif
40