/* * Driver for EIP97 cryptographic accelerator. * * Copyright (c) 2018 AVM GmbH * * SPDX-License-Identifier: GPL-2.0-only * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This driver is heavily based on the Mediatek driver from Ryder Lee. * */ #ifndef __EIP97_AEAD_UTESTER_H #define __EIP97_AEAD_UTESTER_H #include #include "eip97-platform.h" void eip97_test_aead(struct aead_alg *alg, struct eip97_debug *dbg); #ifndef CONFIG_EIP97_EXTENSIVE_SELFCHECKS #define E97_HK(function) function #else #define E97_HK(function) eip97_aead_##function #endif size_t eip97_aead_sg_copy_to_buffer(struct scatterlist *sgl, unsigned int nents, void *buf, size_t buflen); void *eip97_aead_kmalloc(size_t size, gfp_t flags); dma_addr_t eip97_aead_dma_map_single(struct device *dev, void *ptr, size_t size, enum dma_data_direction dir); int eip97_aead_dma_mapping_error(struct device *dev, dma_addr_t dma_addr); int eip97_aead_dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, enum dma_data_direction dir); int eip97_aead_eip97_alloc_tag(struct eip97_cryp *cryp, enum eip97_op_type *op_type); int eip97_aead_eip97_create_cmd_descs(struct scatterlist *sg, u32 sg_bytes, struct eip97_ring *ring, dma_addr_t ct, u32 ct_flags, u32 ct_len, u32 tag, dma_addr_t tfm); int eip97_aead_eip97_create_res_descs(struct scatterlist *sg, u32 sg_bytes, struct eip97_ring *ring, u32 tag); size_t eip97_aead_sg_copy_from_buffer(struct scatterlist *sgl, unsigned int nents, const void *buf, size_t buflen); #endif /* __EIP97_AEAD_UTESTER_H */