xref: /openbmc/linux/include/crypto/pcrypt.h (revision 244d22ff)
1a61127c2SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
25068c7a8SSteffen Klassert /*
35068c7a8SSteffen Klassert  * pcrypt - Parallel crypto engine.
45068c7a8SSteffen Klassert  *
55068c7a8SSteffen Klassert  * Copyright (C) 2009 secunet Security Networks AG
65068c7a8SSteffen Klassert  * Copyright (C) 2009 Steffen Klassert <steffen.klassert@secunet.com>
75068c7a8SSteffen Klassert  */
85068c7a8SSteffen Klassert 
95068c7a8SSteffen Klassert #ifndef _CRYPTO_PCRYPT_H
105068c7a8SSteffen Klassert #define _CRYPTO_PCRYPT_H
115068c7a8SSteffen Klassert 
12*244d22ffSAndy Shevchenko #include <linux/container_of.h>
135068c7a8SSteffen Klassert #include <linux/crypto.h>
145068c7a8SSteffen Klassert #include <linux/padata.h>
155068c7a8SSteffen Klassert 
165068c7a8SSteffen Klassert struct pcrypt_request {
175068c7a8SSteffen Klassert 	struct padata_priv	padata;
185068c7a8SSteffen Klassert 	void			*data;
195068c7a8SSteffen Klassert 	void			*__ctx[] CRYPTO_MINALIGN_ATTR;
205068c7a8SSteffen Klassert };
215068c7a8SSteffen Klassert 
pcrypt_request_ctx(struct pcrypt_request * req)225068c7a8SSteffen Klassert static inline void *pcrypt_request_ctx(struct pcrypt_request *req)
235068c7a8SSteffen Klassert {
245068c7a8SSteffen Klassert 	return req->__ctx;
255068c7a8SSteffen Klassert }
265068c7a8SSteffen Klassert 
275068c7a8SSteffen Klassert static inline
pcrypt_request_padata(struct pcrypt_request * req)285068c7a8SSteffen Klassert struct padata_priv *pcrypt_request_padata(struct pcrypt_request *req)
295068c7a8SSteffen Klassert {
305068c7a8SSteffen Klassert 	return &req->padata;
315068c7a8SSteffen Klassert }
325068c7a8SSteffen Klassert 
335068c7a8SSteffen Klassert static inline
pcrypt_padata_request(struct padata_priv * padata)345068c7a8SSteffen Klassert struct pcrypt_request *pcrypt_padata_request(struct padata_priv *padata)
355068c7a8SSteffen Klassert {
365068c7a8SSteffen Klassert 	return container_of(padata, struct pcrypt_request, padata);
375068c7a8SSteffen Klassert }
385068c7a8SSteffen Klassert 
395068c7a8SSteffen Klassert #endif
40