| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| /* |
| * Copyright (C) 2023 MediaTek Inc. |
| * |
| * Author: Chris.Chou <chris.chou@mediatek.com> |
| * Ren-Ting Wang <ren-ting.wang@mediatek.com> |
| */ |
| |
| #ifndef _CRYPTO_EIP_DDK_WRAPPER_H_ |
| #define _CRYPTO_EIP_DDK_WRAPPER_H_ |
| |
| #include "crypto-eip.h" |
| #include "lookaside.h" |
| #include "crypto-eip197-inline-ddk.h" |
| |
| void mtk_crypto_interrupt_handler(void); |
| u32 *mtk_ddk_tr_ipsec_build(struct mtk_xfrm_params *xfrm_params, u32 ipsec_mod); |
| int crypto_basic_cipher(struct crypto_async_request *async, struct mtk_crypto_cipher_req *mtk_req, |
| struct scatterlist *src, struct scatterlist *dst, unsigned int cryptlen, |
| unsigned int assoclen, unsigned int digestsize, u8 *iv, unsigned int ivsize); |
| int crypto_aead_cipher(struct crypto_async_request *async, struct mtk_crypto_cipher_req *mtk_req, |
| struct scatterlist *src, struct scatterlist *dst, unsigned int cryptlen, |
| unsigned int assoclen, unsigned int digestsize, u8 *iv, unsigned int ivsize); |
| int crypto_ahash_token_req(struct crypto_async_request *async, |
| struct mtk_crypto_ahash_req *mtk_req, uint8_t *Input_p, |
| unsigned int InputByteCount, /*uint8_t *Output_p,*/ |
| /*unsigned int OutputByteCount,*/ bool finish); |
| int crypto_first_ahash_req(struct crypto_async_request *async, |
| struct mtk_crypto_ahash_req *mtk_req, uint8_t *Input_p, |
| unsigned int InputByteCount, /*uint8_t *Output_p,*/ |
| /*unsigned int OutputByteCount,*/ bool finish); |
| int crypto_ahash_aes_cbc(struct crypto_async_request *async, |
| struct mtk_crypto_ahash_req *mtk_req, uint8_t *Input_p, |
| unsigned int InputByteCount); |
| bool crypto_hmac_precompute(SABuilder_Auth_t AuthAlgo, |
| uint8_t *AuthKey_p, |
| unsigned int AuthKeyByteCount, |
| uint8_t *Inner_p, |
| uint8_t *Outer_p); |
| void crypto_free_sa(void *sa_pointer); |
| void crypto_free_token(void *token); |
| void crypto_free_pkt(void *pkt); |
| void crypto_free_sglist(void *sglist); |
| |
| int mtk_ddk_pec_init(void); |
| void mtk_ddk_pec_deinit(void); |
| #endif /* _CRYPTO_EIP_DDK_WRAPPER_H_ */ |