crypto_engine
static int ctr_paes_do_one_request(struct crypto_engine *engine, void *areq)
static int xts_paes_do_one_request(struct crypto_engine *engine, void *areq)
static struct crypto_engine *paes_crypto_engine;
static int ecb_paes_do_one_request(struct crypto_engine *engine, void *areq)
static int cbc_paes_do_one_request(struct crypto_engine *engine, void *areq)
static struct crypto_engine *phmac_crypto_engine;
static int phmac_do_one_request(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine =
container_of(work, struct crypto_engine, pump_requests);
static int crypto_transfer_request(struct crypto_engine *engine,
static int crypto_transfer_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_aead_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_akcipher_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_hash_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_kpp_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_skcipher_request_to_engine(struct crypto_engine *engine,
void crypto_finalize_aead_request(struct crypto_engine *engine,
void crypto_finalize_akcipher_request(struct crypto_engine *engine,
void crypto_finalize_hash_request(struct crypto_engine *engine,
void crypto_finalize_kpp_request(struct crypto_engine *engine,
void crypto_finalize_skcipher_request(struct crypto_engine *engine,
int crypto_engine_start(struct crypto_engine *engine)
static void crypto_finalize_request(struct crypto_engine *engine,
int crypto_engine_stop(struct crypto_engine *engine)
struct crypto_engine *crypto_engine_alloc_init_and_set(struct device *dev,
struct crypto_engine *engine;
struct crypto_engine *crypto_engine_alloc_init(struct device *dev, bool rt)
void crypto_engine_exit(struct crypto_engine *engine)
static void crypto_pump_requests(struct crypto_engine *engine,
int sun8i_ce_cipher_do_one(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
struct crypto_engine *engine;
struct crypto_engine *engine;
int sun8i_ce_hash_run(struct crypto_engine *engine, void *async_req)
struct crypto_engine *engine;
int sun8i_ce_cipher_do_one(struct crypto_engine *engine, void *areq);
int sun8i_ce_hash_run(struct crypto_engine *engine, void *breq);
int sun8i_ss_handle_cipher_request(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
struct crypto_engine *engine;
struct crypto_engine *engine;
int sun8i_ss_hash_run(struct crypto_engine *engine, void *breq)
struct crypto_engine *engine;
int sun8i_ss_handle_cipher_request(struct crypto_engine *engine, void *areq);
int sun8i_ss_hash_run(struct crypto_engine *engine, void *breq);
int meson_handle_cipher_request(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
struct crypto_engine *engine;
int meson_handle_cipher_request(struct crypto_engine *engine, void *areq);
struct crypto_engine *engine;
struct crypto_engine *crypt_engine_rsa;
static int aspeed_acry_do_request(struct crypto_engine *engine, void *areq)
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
req = crypto_engine->req;
memcpy(req->iv, crypto_engine->cipher_ctx +
memcpy(req->iv, crypto_engine->cipher_ctx,
crypto_engine->flags &= ~CRYPTO_FLAGS_BUSY;
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
req = crypto_engine->req;
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
req = crypto_engine->req;
crypto_engine->cipher_addr, req->cryptlen);
"cipher addr", crypto_engine->cipher_addr);
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
req = crypto_engine->req;
crypto_engine->cipher_addr, req->cryptlen);
"cipher addr", crypto_engine->cipher_addr);
crypto_engine->resume = aspeed_sk_transfer;
ast_hace_write(hace_dev, crypto_engine->cipher_dma_addr,
ast_hace_write(hace_dev, crypto_engine->cipher_dma_addr,
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
req = crypto_engine->req;
src_list = (struct aspeed_sg_list *)crypto_engine->cipher_addr;
src_dma_addr = crypto_engine->cipher_dma_addr;
dst_list = (struct aspeed_sg_list *)crypto_engine->dst_sg_addr;
dst_dma_addr = crypto_engine->dst_sg_dma_addr;
crypto_engine->resume = aspeed_sk_transfer_sg;
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
req = crypto_engine->req;
ast_hace_write(hace_dev, crypto_engine->cipher_ctx_dma,
memcpy(crypto_engine->cipher_ctx + DES_BLOCK_SIZE,
memcpy(crypto_engine->cipher_ctx, req->iv,
memcpy(crypto_engine->cipher_ctx + 16, ctx->key, ctx->key_len);
memcpy(crypto_engine->cipher_ctx + 16, ctx->key, AES_MAX_KEYLENGTH);
static int aspeed_crypto_do_request(struct crypto_engine *engine, void *areq)
struct aspeed_engine_crypto *crypto_engine;
crypto_engine = &hace_dev->crypto_engine;
crypto_engine->req = req;
crypto_engine->flags |= CRYPTO_FLAGS_BUSY;
static int aspeed_ahash_do_request(struct crypto_engine *engine, void *areq)
static void aspeed_ahash_prepare_request(struct crypto_engine *engine,
static int aspeed_ahash_do_one(struct crypto_engine *engine, void *areq)
struct aspeed_engine_crypto *crypto_engine;
crypto_engine = &hace_dev->crypto_engine;
tasklet_init(&crypto_engine->done_task, aspeed_hace_crypto_done_task,
crypto_engine->cipher_ctx =
&crypto_engine->cipher_ctx_dma,
if (!crypto_engine->cipher_ctx) {
crypto_engine->cipher_addr =
&crypto_engine->cipher_dma_addr,
if (!crypto_engine->cipher_addr) {
crypto_engine->dst_sg_addr =
&crypto_engine->dst_sg_dma_addr,
if (!crypto_engine->dst_sg_addr) {
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
tasklet_kill(&crypto_engine->done_task);
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
if (crypto_engine->flags & CRYPTO_FLAGS_BUSY)
tasklet_schedule(&crypto_engine->done_task);
struct aspeed_engine_crypto *crypto_engine = &hace_dev->crypto_engine;
crypto_engine->resume(hace_dev);
struct crypto_engine *crypt_engine_hash;
struct crypto_engine *crypt_engine_crypto;
struct aspeed_engine_crypto crypto_engine;
static int aead_do_one_req(struct crypto_engine *engine, void *areq)
static int skcipher_do_one_req(struct crypto_engine *engine, void *areq)
static int ahash_do_one_req(struct crypto_engine *engine, void *areq)
static int akcipher_do_one_req(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
int sl3516_ce_handle_cipher_request(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
struct crypto_engine *engine;
struct crypto_engine *engine;
int sl3516_ce_handle_cipher_request(struct crypto_engine *engine, void *areq);
static int kmb_ocs_aes_sk_do_one_request(struct crypto_engine *engine,
static int kmb_ocs_aes_aead_do_one_request(struct crypto_engine *engine,
static int kmb_ocs_ecc_do_one_request(struct crypto_engine *engine,
struct crypto_engine *engine;
static int kmb_ocs_hcu_do_one_request(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
struct crypto_engine *engine;
int omap_aes_gcm_crypt_req(struct crypto_engine *engine, void *areq)
static int omap_aes_crypt_req(struct crypto_engine *engine,
struct crypto_engine *engine;
int omap_aes_gcm_crypt_req(struct crypto_engine *engine, void *areq);
struct crypto_engine *engine;
static int omap_des_crypt_req(struct crypto_engine *engine,
static int omap_sham_hash_one_req(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
static int omap_sham_prepare_request(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
struct crypto_engine *engine;
static int rk_hash_prepare(struct crypto_engine *engine, void *breq)
static void rk_hash_unprepare(struct crypto_engine *engine, void *breq)
static int rk_hash_run(struct crypto_engine *engine, void *breq)
static int rk_cipher_run(struct crypto_engine *engine, void *async_req)
struct crypto_engine *engine;
struct crypto_engine *engine;
static int sahara_do_one_request(struct crypto_engine *engine, void *areq)
static int starfive_aes_do_one_req(struct crypto_engine *engine, void *areq)
static int starfive_aes_aead_do_one_req(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
static int starfive_hash_one_request(struct crypto_engine *engine, void *areq)
static int stm32_cryp_cipher_one_req(struct crypto_engine *engine, void *areq);
static int stm32_cryp_aead_one_req(struct crypto_engine *engine, void *areq);
static int stm32_cryp_cipher_one_req(struct crypto_engine *engine, void *areq)
static int stm32_cryp_aead_one_req(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
static int stm32_hash_one_request(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
static int tegra_ccm_do_one_req(struct crypto_engine *engine, void *areq)
static int tegra_gcm_do_one_req(struct crypto_engine *engine, void *areq)
static int tegra_cmac_do_one_req(struct crypto_engine *engine, void *areq)
static int tegra_aes_do_one_req(struct crypto_engine *engine, void *areq)
static int tegra_sha_do_one_req(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
static int dthe_aes_run(struct crypto_engine *engine, void *areq)
struct crypto_engine *engine;
struct crypto_engine *engine;
static int virtio_crypto_rsa_do_req(struct crypto_engine *engine, void *vreq)
struct crypto_engine *engine, void *vreq);
struct crypto_engine *engine;
struct crypto_engine *engine, void *vreq)
static int xilinx_handle_aes_req(struct crypto_engine *engine, void *req)
struct crypto_engine *engine;
struct crypto_engine;
int (*do_one_request)(struct crypto_engine *engine,
int crypto_transfer_aead_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_akcipher_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_hash_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_kpp_request_to_engine(struct crypto_engine *engine,
int crypto_transfer_skcipher_request_to_engine(struct crypto_engine *engine,
void crypto_finalize_aead_request(struct crypto_engine *engine,
void crypto_finalize_akcipher_request(struct crypto_engine *engine,
void crypto_finalize_hash_request(struct crypto_engine *engine,
void crypto_finalize_kpp_request(struct crypto_engine *engine,
void crypto_finalize_skcipher_request(struct crypto_engine *engine,
int crypto_engine_start(struct crypto_engine *engine);
int crypto_engine_stop(struct crypto_engine *engine);
struct crypto_engine *crypto_engine_alloc_init(struct device *dev, bool rt);
struct crypto_engine *crypto_engine_alloc_init_and_set(struct device *dev,
void crypto_engine_exit(struct crypto_engine *engine);