162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci#ifndef ASM_X86_SM4_AVX_H 362306a36Sopenharmony_ci#define ASM_X86_SM4_AVX_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/types.h> 662306a36Sopenharmony_ci#include <crypto/sm4.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_citypedef void (*sm4_crypt_func)(const u32 *rk, u8 *dst, const u8 *src, u8 *iv); 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciint sm4_avx_ecb_encrypt(struct skcipher_request *req); 1162306a36Sopenharmony_ciint sm4_avx_ecb_decrypt(struct skcipher_request *req); 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciint sm4_cbc_encrypt(struct skcipher_request *req); 1462306a36Sopenharmony_ciint sm4_avx_cbc_decrypt(struct skcipher_request *req, 1562306a36Sopenharmony_ci unsigned int bsize, sm4_crypt_func func); 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciint sm4_cfb_encrypt(struct skcipher_request *req); 1862306a36Sopenharmony_ciint sm4_avx_cfb_decrypt(struct skcipher_request *req, 1962306a36Sopenharmony_ci unsigned int bsize, sm4_crypt_func func); 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciint sm4_avx_ctr_crypt(struct skcipher_request *req, 2262306a36Sopenharmony_ci unsigned int bsize, sm4_crypt_func func); 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci#endif 25