#include <crypto/aes.h>
#include <crypto/engine.h>
#include <crypto/gcm.h>
#include <crypto/internal/aead.h>
#include <crypto/scatterwalk.h>
#include <linux/dma-mapping.h>
#include <linux/err.h>
#include <linux/firmware/xlnx-zynqmp.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/string.h>
#define ZYNQMP_DMA_BIT_MASK …
#define ZYNQMP_AES_KEY_SIZE …
#define ZYNQMP_AES_AUTH_SIZE …
#define ZYNQMP_KEY_SRC_SEL_KEY_LEN …
#define ZYNQMP_AES_BLK_SIZE …
#define ZYNQMP_AES_MIN_INPUT_BLK_SIZE …
#define ZYNQMP_AES_WORD_LEN …
#define ZYNQMP_AES_GCM_TAG_MISMATCH_ERR …
#define ZYNQMP_AES_WRONG_KEY_SRC_ERR …
#define ZYNQMP_AES_PUF_NOT_PROGRAMMED …
enum zynqmp_aead_op { … };
enum zynqmp_aead_keysrc { … };
struct zynqmp_aead_drv_ctx { … };
struct zynqmp_aead_hw_req { … };
struct zynqmp_aead_tfm_ctx { … };
struct zynqmp_aead_req_ctx { … };
static int zynqmp_aes_aead_cipher(struct aead_request *req)
{ … }
static int zynqmp_fallback_check(struct zynqmp_aead_tfm_ctx *tfm_ctx,
struct aead_request *req)
{ … }
static int zynqmp_handle_aes_req(struct crypto_engine *engine,
void *req)
{ … }
static int zynqmp_aes_aead_setkey(struct crypto_aead *aead, const u8 *key,
unsigned int keylen)
{ … }
static int zynqmp_aes_aead_setauthsize(struct crypto_aead *aead,
unsigned int authsize)
{ … }
static int zynqmp_aes_aead_encrypt(struct aead_request *req)
{ … }
static int zynqmp_aes_aead_decrypt(struct aead_request *req)
{ … }
static int zynqmp_aes_aead_init(struct crypto_aead *aead)
{ … }
static void zynqmp_aes_aead_exit(struct crypto_aead *aead)
{ … }
static struct zynqmp_aead_drv_ctx aes_drv_ctx = …;
static int zynqmp_aes_aead_probe(struct platform_device *pdev)
{ … }
static void zynqmp_aes_aead_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id zynqmp_aes_dt_ids[] = …;
MODULE_DEVICE_TABLE(of, zynqmp_aes_dt_ids);
static struct platform_driver zynqmp_aes_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;