Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * Shared descriptors for aead, skcipher algorithms
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  * Copyright 2016 NXP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) #ifndef _CAAMALG_DESC_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #define _CAAMALG_DESC_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) /* length of descriptors text */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #define DESC_AEAD_BASE			(4 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #define DESC_AEAD_ENC_LEN		(DESC_AEAD_BASE + 11 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #define DESC_AEAD_DEC_LEN		(DESC_AEAD_BASE + 15 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) #define DESC_AEAD_GIVENC_LEN		(DESC_AEAD_ENC_LEN + 8 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #define DESC_QI_AEAD_ENC_LEN		(DESC_AEAD_ENC_LEN + 3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) #define DESC_QI_AEAD_DEC_LEN		(DESC_AEAD_DEC_LEN + 3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) #define DESC_QI_AEAD_GIVENC_LEN		(DESC_AEAD_GIVENC_LEN + 3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) /* Note: Nonce is counted in cdata.keylen */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) #define DESC_AEAD_CTR_RFC3686_LEN	(4 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) #define DESC_AEAD_NULL_BASE		(3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) #define DESC_AEAD_NULL_ENC_LEN		(DESC_AEAD_NULL_BASE + 11 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) #define DESC_AEAD_NULL_DEC_LEN		(DESC_AEAD_NULL_BASE + 13 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) #define DESC_GCM_BASE			(3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) #define DESC_GCM_ENC_LEN		(DESC_GCM_BASE + 16 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) #define DESC_GCM_DEC_LEN		(DESC_GCM_BASE + 12 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) #define DESC_QI_GCM_ENC_LEN		(DESC_GCM_ENC_LEN + 6 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) #define DESC_QI_GCM_DEC_LEN		(DESC_GCM_DEC_LEN + 3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) #define DESC_RFC4106_BASE		(3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) #define DESC_RFC4106_ENC_LEN		(DESC_RFC4106_BASE + 16 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) #define DESC_RFC4106_DEC_LEN		(DESC_RFC4106_BASE + 13 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) #define DESC_QI_RFC4106_ENC_LEN		(DESC_RFC4106_ENC_LEN + 5 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) #define DESC_QI_RFC4106_DEC_LEN		(DESC_RFC4106_DEC_LEN + 5 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) #define DESC_RFC4543_BASE		(3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) #define DESC_RFC4543_ENC_LEN		(DESC_RFC4543_BASE + 11 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) #define DESC_RFC4543_DEC_LEN		(DESC_RFC4543_BASE + 12 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) #define DESC_QI_RFC4543_ENC_LEN		(DESC_RFC4543_ENC_LEN + 4 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) #define DESC_QI_RFC4543_DEC_LEN		(DESC_RFC4543_DEC_LEN + 4 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) #define DESC_SKCIPHER_BASE		(3 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) #define DESC_SKCIPHER_ENC_LEN		(DESC_SKCIPHER_BASE + \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 					 21 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) #define DESC_SKCIPHER_DEC_LEN		(DESC_SKCIPHER_BASE + \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 					 16 * CAAM_CMD_SZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) void cnstr_shdsc_aead_null_encap(u32 * const desc, struct alginfo *adata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 				 unsigned int icvsize, int era);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) void cnstr_shdsc_aead_null_decap(u32 * const desc, struct alginfo *adata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 				 unsigned int icvsize, int era);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) void cnstr_shdsc_aead_encap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 			    struct alginfo *adata, unsigned int ivsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 			    unsigned int icvsize, const bool is_rfc3686,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 			    u32 *nonce, const u32 ctx1_iv_off,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 			    const bool is_qi, int era);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) void cnstr_shdsc_aead_decap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 			    struct alginfo *adata, unsigned int ivsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 			    unsigned int icvsize, const bool geniv,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 			    const bool is_rfc3686, u32 *nonce,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 			    const u32 ctx1_iv_off, const bool is_qi, int era);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) void cnstr_shdsc_aead_givencap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 			       struct alginfo *adata, unsigned int ivsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 			       unsigned int icvsize, const bool is_rfc3686,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 			       u32 *nonce, const u32 ctx1_iv_off,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 			       const bool is_qi, int era);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) void cnstr_shdsc_gcm_encap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 			   unsigned int ivsize, unsigned int icvsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 			   const bool is_qi);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) void cnstr_shdsc_gcm_decap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 			   unsigned int ivsize, unsigned int icvsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 			   const bool is_qi);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) void cnstr_shdsc_rfc4106_encap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 			       unsigned int ivsize, unsigned int icvsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 			       const bool is_qi);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) void cnstr_shdsc_rfc4106_decap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 			       unsigned int ivsize, unsigned int icvsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 			       const bool is_qi);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) void cnstr_shdsc_rfc4543_encap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 			       unsigned int ivsize, unsigned int icvsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 			       const bool is_qi);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) void cnstr_shdsc_rfc4543_decap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 			       unsigned int ivsize, unsigned int icvsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 			       const bool is_qi);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) void cnstr_shdsc_chachapoly(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 			    struct alginfo *adata, unsigned int ivsize,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 			    unsigned int icvsize, const bool encap,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 			    const bool is_qi);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) void cnstr_shdsc_skcipher_encap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 				unsigned int ivsize, const bool is_rfc3686,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 				const u32 ctx1_iv_off);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) void cnstr_shdsc_skcipher_decap(u32 * const desc, struct alginfo *cdata,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 				unsigned int ivsize, const bool is_rfc3686,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 				const u32 ctx1_iv_off);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) void cnstr_shdsc_xts_skcipher_encap(u32 * const desc, struct alginfo *cdata);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) void cnstr_shdsc_xts_skcipher_decap(u32 * const desc, struct alginfo *cdata);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) #endif /* _CAAMALG_DESC_H_ */