Lines Matching refs:req

30 				     struct aead_request *req);
34 struct aead_request *req = dd->aead_req;
39 crypto_finalize_aead_request(dd->engine, req, ret);
92 struct aead_request *req)
95 struct crypto_aead *aead = crypto_aead_reqtfm(req);
101 assoclen = req->assoclen;
102 cryptlen = req->cryptlen;
119 tmp = req->src;
132 tmp = scatterwalk_ffwd(sg_arr, req->src, req->assoclen);
153 dd->out_sg = req->dst;
154 dd->orig_out = req->dst;
156 dd->out_sg = scatterwalk_ffwd(sg_arr, req->dst, req->assoclen);
159 if (req->src == req->dst || dd->out_sg == sg_arr)
177 static int do_encrypt_iv(struct aead_request *req, u32 *tag, u32 *iv)
179 struct omap_aes_gcm_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
210 struct aead_request *req)
212 if (req)
213 return crypto_transfer_aead_request_to_engine(dd->engine, req);
218 static int omap_aes_gcm_prepare_req(struct aead_request *req,
221 struct omap_aes_reqctx *rctx = aead_request_ctx(req);
222 struct omap_aes_gcm_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
225 dd->aead_req = req;
230 err = omap_aes_gcm_copy_buffers(dd, req);
239 static int omap_aes_gcm_crypt(struct aead_request *req, unsigned long mode)
241 struct omap_aes_reqctx *rctx = aead_request_ctx(req);
242 struct crypto_aead *aead = crypto_aead_reqtfm(req);
251 err = do_encrypt_iv(req, (u32 *)rctx->auth_tag, (u32 *)rctx->iv);
256 assoclen = req->assoclen - 8;
258 assoclen = req->assoclen;
259 if (assoclen + req->cryptlen == 0) {
260 scatterwalk_map_and_copy(rctx->auth_tag, req->dst, 0, authlen,
270 return omap_aes_gcm_handle_queue(dd, req);
273 int omap_aes_gcm_encrypt(struct aead_request *req)
275 struct omap_aes_reqctx *rctx = aead_request_ctx(req);
277 memcpy(rctx->iv, req->iv, GCM_AES_IV_SIZE);
278 return omap_aes_gcm_crypt(req, FLAGS_ENCRYPT | FLAGS_GCM);
281 int omap_aes_gcm_decrypt(struct aead_request *req)
283 struct omap_aes_reqctx *rctx = aead_request_ctx(req);
285 memcpy(rctx->iv, req->iv, GCM_AES_IV_SIZE);
286 return omap_aes_gcm_crypt(req, FLAGS_GCM);
289 int omap_aes_4106gcm_encrypt(struct aead_request *req)
291 struct omap_aes_gcm_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
292 struct omap_aes_reqctx *rctx = aead_request_ctx(req);
295 memcpy(rctx->iv + 4, req->iv, 8);
296 return crypto_ipsec_check_assoclen(req->assoclen) ?:
297 omap_aes_gcm_crypt(req, FLAGS_ENCRYPT | FLAGS_GCM |
301 int omap_aes_4106gcm_decrypt(struct aead_request *req)
303 struct omap_aes_gcm_ctx *ctx = crypto_aead_ctx(crypto_aead_reqtfm(req));
304 struct omap_aes_reqctx *rctx = aead_request_ctx(req);
307 memcpy(rctx->iv + 4, req->iv, 8);
308 return crypto_ipsec_check_assoclen(req->assoclen) ?:
309 omap_aes_gcm_crypt(req, FLAGS_GCM | FLAGS_RFC4106_GCM);
362 struct aead_request *req = container_of(areq, struct aead_request,
364 struct omap_aes_reqctx *rctx = aead_request_ctx(req);
371 ret = omap_aes_gcm_prepare_req(req, dd);