sa_req
static int sa_run(struct sa_req *req)
struct sa_req sa_req = { 0 };
sa_req.size = req->cryptlen;
sa_req.enc_size = req->cryptlen;
sa_req.src = req->src;
sa_req.dst = req->dst;
sa_req.enc_iv = iv;
sa_req.type = CRYPTO_ALG_TYPE_SKCIPHER;
sa_req.enc = enc;
sa_req.callback = sa_aes_dma_in_callback;
sa_req.mdata_size = 44;
sa_req.base = &req->base;
sa_req.ctx = ctx;
return sa_run(&sa_req);
struct sa_req sa_req = { 0 };
sa_req.size = auth_len;
sa_req.auth_size = auth_len;
sa_req.src = req->src;
sa_req.dst = req->src;
sa_req.enc = true;
sa_req.type = CRYPTO_ALG_TYPE_AHASH;
sa_req.callback = sa_sha_dma_in_callback;
sa_req.mdata_size = 28;
sa_req.ctx = ctx;
sa_req.base = &req->base;
return sa_run(&sa_req);
struct sa_req sa_req = { 0 };
sa_req.enc_offset = req->assoclen;
sa_req.enc_size = enc_size;
sa_req.auth_size = auth_size;
sa_req.size = auth_size;
sa_req.enc_iv = iv;
sa_req.type = CRYPTO_ALG_TYPE_AEAD;
sa_req.enc = enc;
sa_req.callback = sa_aead_dma_in_callback;
sa_req.mdata_size = 52;
sa_req.base = &req->base;
sa_req.ctx = ctx;
sa_req.src = req->src;
sa_req.dst = req->dst;
return sa_run(&sa_req);
static inline void sa_update_cmdl(struct sa_req *req, u32 *cmdl,