1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 #ifndef ASM_X86_SM4_AVX_H 3 #define ASM_X86_SM4_AVX_H 4 5 #include <linux/types.h> 6 #include <crypto/sm4.h> 7 8 typedef void (*sm4_crypt_func)(const u32 *rk, u8 *dst, const u8 *src, u8 *iv); 9 10 int sm4_avx_ecb_encrypt(struct skcipher_request *req); 11 int sm4_avx_ecb_decrypt(struct skcipher_request *req); 12 13 int sm4_cbc_encrypt(struct skcipher_request *req); 14 int sm4_avx_cbc_decrypt(struct skcipher_request *req, 15 unsigned int bsize, sm4_crypt_func func); 16 17 int sm4_cfb_encrypt(struct skcipher_request *req); 18 int sm4_avx_cfb_decrypt(struct skcipher_request *req, 19 unsigned int bsize, sm4_crypt_func func); 20 21 int sm4_avx_ctr_crypt(struct skcipher_request *req, 22 unsigned int bsize, sm4_crypt_func func); 23 24 #endif 25