linux/drivers/crypto/xilinx/zynqmp-aes-gcm.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Xilinx ZynqMP AES Driver.
 * Copyright (c) 2020 Xilinx Inc.
 */

#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();