#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <crypto/gcm.h>
#include <crypto/authenc.h>
#include <crypto/internal/aead.h>
#include <crypto/internal/des.h>
#include <crypto/sha1.h>
#include <crypto/sha2.h>
#include <crypto/scatterwalk.h>
#include "aead.h"
#define CCM_NONCE_ADATA_SHIFT …
#define CCM_NONCE_AUTHSIZE_SHIFT …
#define MAX_CCM_ADATA_HEADER_LEN …
static LIST_HEAD(aead_algs);
static void qce_aead_done(void *data)
{ … }
static struct scatterlist *
qce_aead_prepare_result_buf(struct sg_table *tbl, struct aead_request *req)
{ … }
static struct scatterlist *
qce_aead_prepare_ccm_result_buf(struct sg_table *tbl, struct aead_request *req)
{ … }
static struct scatterlist *
qce_aead_prepare_dst_buf(struct aead_request *req)
{ … }
static int
qce_aead_ccm_prepare_buf_assoclen(struct aead_request *req)
{ … }
static int qce_aead_prepare_buf(struct aead_request *req)
{ … }
static int qce_aead_ccm_prepare_buf(struct aead_request *req)
{ … }
static int qce_aead_create_ccm_nonce(struct qce_aead_reqctx *rctx, struct qce_aead_ctx *ctx)
{ … }
static int
qce_aead_async_req_handle(struct crypto_async_request *async_req)
{ … }
static int qce_aead_crypt(struct aead_request *req, int encrypt)
{ … }
static int qce_aead_encrypt(struct aead_request *req)
{ … }
static int qce_aead_decrypt(struct aead_request *req)
{ … }
static int qce_aead_ccm_setkey(struct crypto_aead *tfm, const u8 *key,
unsigned int keylen)
{ … }
static int qce_aead_setkey(struct crypto_aead *tfm, const u8 *key, unsigned int keylen)
{ … }
static int qce_aead_setauthsize(struct crypto_aead *tfm, unsigned int authsize)
{ … }
static int qce_aead_init(struct crypto_aead *tfm)
{ … }
static void qce_aead_exit(struct crypto_aead *tfm)
{ … }
struct qce_aead_def { … };
static const struct qce_aead_def aead_def[] = …;
static int qce_aead_register_one(const struct qce_aead_def *def, struct qce_device *qce)
{ … }
static void qce_aead_unregister(struct qce_device *qce)
{ … }
static int qce_aead_register(struct qce_device *qce)
{ … }
const struct qce_algo_ops aead_ops = …;