• Home
  • Raw
  • Download

Lines Matching refs:req

43 				 struct ablkcipher_request *req)  in mv_cesa_ablkcipher_req_iter_init()  argument
45 mv_cesa_req_dma_iter_init(&iter->base, req->nbytes); in mv_cesa_ablkcipher_req_iter_init()
46 mv_cesa_sg_dma_iter_init(&iter->src, req->src, DMA_TO_DEVICE); in mv_cesa_ablkcipher_req_iter_init()
47 mv_cesa_sg_dma_iter_init(&iter->dst, req->dst, DMA_FROM_DEVICE); in mv_cesa_ablkcipher_req_iter_init()
60 mv_cesa_ablkcipher_dma_cleanup(struct ablkcipher_request *req) in mv_cesa_ablkcipher_dma_cleanup() argument
62 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_dma_cleanup()
64 if (req->dst != req->src) { in mv_cesa_ablkcipher_dma_cleanup()
65 dma_unmap_sg(cesa_dev->dev, req->dst, creq->dst_nents, in mv_cesa_ablkcipher_dma_cleanup()
67 dma_unmap_sg(cesa_dev->dev, req->src, creq->src_nents, in mv_cesa_ablkcipher_dma_cleanup()
70 dma_unmap_sg(cesa_dev->dev, req->src, creq->src_nents, in mv_cesa_ablkcipher_dma_cleanup()
76 static inline void mv_cesa_ablkcipher_cleanup(struct ablkcipher_request *req) in mv_cesa_ablkcipher_cleanup() argument
78 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_cleanup()
81 mv_cesa_ablkcipher_dma_cleanup(req); in mv_cesa_ablkcipher_cleanup()
84 static void mv_cesa_ablkcipher_std_step(struct ablkcipher_request *req) in mv_cesa_ablkcipher_std_step() argument
86 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_std_step()
89 size_t len = min_t(size_t, req->nbytes - sreq->offset, in mv_cesa_ablkcipher_std_step()
95 len = sg_pcopy_to_buffer(req->src, creq->src_nents, in mv_cesa_ablkcipher_std_step()
117 static int mv_cesa_ablkcipher_std_process(struct ablkcipher_request *req, in mv_cesa_ablkcipher_std_process() argument
120 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_std_process()
125 len = sg_pcopy_from_buffer(req->dst, creq->dst_nents, in mv_cesa_ablkcipher_std_process()
130 if (sreq->offset < req->nbytes) in mv_cesa_ablkcipher_std_process()
136 static int mv_cesa_ablkcipher_process(struct crypto_async_request *req, in mv_cesa_ablkcipher_process() argument
139 struct ablkcipher_request *ablkreq = ablkcipher_request_cast(req); in mv_cesa_ablkcipher_process()
149 static void mv_cesa_ablkcipher_step(struct crypto_async_request *req) in mv_cesa_ablkcipher_step() argument
151 struct ablkcipher_request *ablkreq = ablkcipher_request_cast(req); in mv_cesa_ablkcipher_step()
161 mv_cesa_ablkcipher_dma_prepare(struct ablkcipher_request *req) in mv_cesa_ablkcipher_dma_prepare() argument
163 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_dma_prepare()
170 mv_cesa_ablkcipher_std_prepare(struct ablkcipher_request *req) in mv_cesa_ablkcipher_std_prepare() argument
172 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_std_prepare()
179 static inline void mv_cesa_ablkcipher_prepare(struct crypto_async_request *req, in mv_cesa_ablkcipher_prepare() argument
182 struct ablkcipher_request *ablkreq = ablkcipher_request_cast(req); in mv_cesa_ablkcipher_prepare()
193 mv_cesa_ablkcipher_req_cleanup(struct crypto_async_request *req) in mv_cesa_ablkcipher_req_cleanup() argument
195 struct ablkcipher_request *ablkreq = ablkcipher_request_cast(req); in mv_cesa_ablkcipher_req_cleanup()
201 mv_cesa_ablkcipher_complete(struct crypto_async_request *req) in mv_cesa_ablkcipher_complete() argument
203 struct ablkcipher_request *ablkreq = ablkcipher_request_cast(req); in mv_cesa_ablkcipher_complete()
306 static int mv_cesa_ablkcipher_dma_req_init(struct ablkcipher_request *req, in mv_cesa_ablkcipher_dma_req_init() argument
309 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_dma_req_init()
310 gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ? in mv_cesa_ablkcipher_dma_req_init()
321 if (req->src != req->dst) { in mv_cesa_ablkcipher_dma_req_init()
322 ret = dma_map_sg(cesa_dev->dev, req->src, creq->src_nents, in mv_cesa_ablkcipher_dma_req_init()
327 ret = dma_map_sg(cesa_dev->dev, req->dst, creq->dst_nents, in mv_cesa_ablkcipher_dma_req_init()
334 ret = dma_map_sg(cesa_dev->dev, req->src, creq->src_nents, in mv_cesa_ablkcipher_dma_req_init()
341 mv_cesa_ablkcipher_req_iter_init(&iter, req); in mv_cesa_ablkcipher_dma_req_init()
375 ivsize = crypto_ablkcipher_ivsize(crypto_ablkcipher_reqtfm(req)); in mv_cesa_ablkcipher_dma_req_init()
388 if (req->dst != req->src) in mv_cesa_ablkcipher_dma_req_init()
389 dma_unmap_sg(cesa_dev->dev, req->dst, creq->dst_nents, in mv_cesa_ablkcipher_dma_req_init()
393 dma_unmap_sg(cesa_dev->dev, req->src, creq->src_nents, in mv_cesa_ablkcipher_dma_req_init()
394 req->dst != req->src ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL); in mv_cesa_ablkcipher_dma_req_init()
400 mv_cesa_ablkcipher_std_req_init(struct ablkcipher_request *req, in mv_cesa_ablkcipher_std_req_init() argument
403 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_std_req_init()
415 static int mv_cesa_ablkcipher_req_init(struct ablkcipher_request *req, in mv_cesa_ablkcipher_req_init() argument
418 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_req_init()
419 struct crypto_ablkcipher *tfm = crypto_ablkcipher_reqtfm(req); in mv_cesa_ablkcipher_req_init()
423 if (!IS_ALIGNED(req->nbytes, blksize)) in mv_cesa_ablkcipher_req_init()
426 creq->src_nents = sg_nents_for_len(req->src, req->nbytes); in mv_cesa_ablkcipher_req_init()
431 creq->dst_nents = sg_nents_for_len(req->dst, req->nbytes); in mv_cesa_ablkcipher_req_init()
441 ret = mv_cesa_ablkcipher_dma_req_init(req, tmpl); in mv_cesa_ablkcipher_req_init()
443 ret = mv_cesa_ablkcipher_std_req_init(req, tmpl); in mv_cesa_ablkcipher_req_init()
448 static int mv_cesa_ablkcipher_queue_req(struct ablkcipher_request *req, in mv_cesa_ablkcipher_queue_req() argument
452 struct mv_cesa_ablkcipher_req *creq = ablkcipher_request_ctx(req); in mv_cesa_ablkcipher_queue_req()
455 ret = mv_cesa_ablkcipher_req_init(req, tmpl); in mv_cesa_ablkcipher_queue_req()
459 engine = mv_cesa_select_engine(req->nbytes); in mv_cesa_ablkcipher_queue_req()
460 mv_cesa_ablkcipher_prepare(&req->base, engine); in mv_cesa_ablkcipher_queue_req()
462 ret = mv_cesa_queue_req(&req->base, &creq->base); in mv_cesa_ablkcipher_queue_req()
464 if (mv_cesa_req_needs_cleanup(&req->base, ret)) in mv_cesa_ablkcipher_queue_req()
465 mv_cesa_ablkcipher_cleanup(req); in mv_cesa_ablkcipher_queue_req()
470 static int mv_cesa_des_op(struct ablkcipher_request *req, in mv_cesa_des_op() argument
473 struct mv_cesa_des_ctx *ctx = crypto_tfm_ctx(req->base.tfm); in mv_cesa_des_op()
480 return mv_cesa_ablkcipher_queue_req(req, tmpl); in mv_cesa_des_op()
483 static int mv_cesa_ecb_des_encrypt(struct ablkcipher_request *req) in mv_cesa_ecb_des_encrypt() argument
491 return mv_cesa_des_op(req, &tmpl); in mv_cesa_ecb_des_encrypt()
494 static int mv_cesa_ecb_des_decrypt(struct ablkcipher_request *req) in mv_cesa_ecb_des_decrypt() argument
502 return mv_cesa_des_op(req, &tmpl); in mv_cesa_ecb_des_decrypt()
528 static int mv_cesa_cbc_des_op(struct ablkcipher_request *req, in mv_cesa_cbc_des_op() argument
534 memcpy(tmpl->ctx.blkcipher.iv, req->info, DES_BLOCK_SIZE); in mv_cesa_cbc_des_op()
536 return mv_cesa_des_op(req, tmpl); in mv_cesa_cbc_des_op()
539 static int mv_cesa_cbc_des_encrypt(struct ablkcipher_request *req) in mv_cesa_cbc_des_encrypt() argument
545 return mv_cesa_cbc_des_op(req, &tmpl); in mv_cesa_cbc_des_encrypt()
548 static int mv_cesa_cbc_des_decrypt(struct ablkcipher_request *req) in mv_cesa_cbc_des_decrypt() argument
554 return mv_cesa_cbc_des_op(req, &tmpl); in mv_cesa_cbc_des_decrypt()
581 static int mv_cesa_des3_op(struct ablkcipher_request *req, in mv_cesa_des3_op() argument
584 struct mv_cesa_des3_ctx *ctx = crypto_tfm_ctx(req->base.tfm); in mv_cesa_des3_op()
591 return mv_cesa_ablkcipher_queue_req(req, tmpl); in mv_cesa_des3_op()
594 static int mv_cesa_ecb_des3_ede_encrypt(struct ablkcipher_request *req) in mv_cesa_ecb_des3_ede_encrypt() argument
603 return mv_cesa_des3_op(req, &tmpl); in mv_cesa_ecb_des3_ede_encrypt()
606 static int mv_cesa_ecb_des3_ede_decrypt(struct ablkcipher_request *req) in mv_cesa_ecb_des3_ede_decrypt() argument
615 return mv_cesa_des3_op(req, &tmpl); in mv_cesa_ecb_des3_ede_decrypt()
642 static int mv_cesa_cbc_des3_op(struct ablkcipher_request *req, in mv_cesa_cbc_des3_op() argument
645 memcpy(tmpl->ctx.blkcipher.iv, req->info, DES3_EDE_BLOCK_SIZE); in mv_cesa_cbc_des3_op()
647 return mv_cesa_des3_op(req, tmpl); in mv_cesa_cbc_des3_op()
650 static int mv_cesa_cbc_des3_ede_encrypt(struct ablkcipher_request *req) in mv_cesa_cbc_des3_ede_encrypt() argument
659 return mv_cesa_cbc_des3_op(req, &tmpl); in mv_cesa_cbc_des3_ede_encrypt()
662 static int mv_cesa_cbc_des3_ede_decrypt(struct ablkcipher_request *req) in mv_cesa_cbc_des3_ede_decrypt() argument
671 return mv_cesa_cbc_des3_op(req, &tmpl); in mv_cesa_cbc_des3_ede_decrypt()
698 static int mv_cesa_aes_op(struct ablkcipher_request *req, in mv_cesa_aes_op() argument
701 struct mv_cesa_aes_ctx *ctx = crypto_tfm_ctx(req->base.tfm); in mv_cesa_aes_op()
725 return mv_cesa_ablkcipher_queue_req(req, tmpl); in mv_cesa_aes_op()
728 static int mv_cesa_ecb_aes_encrypt(struct ablkcipher_request *req) in mv_cesa_ecb_aes_encrypt() argument
736 return mv_cesa_aes_op(req, &tmpl); in mv_cesa_ecb_aes_encrypt()
739 static int mv_cesa_ecb_aes_decrypt(struct ablkcipher_request *req) in mv_cesa_ecb_aes_decrypt() argument
747 return mv_cesa_aes_op(req, &tmpl); in mv_cesa_ecb_aes_decrypt()
773 static int mv_cesa_cbc_aes_op(struct ablkcipher_request *req, in mv_cesa_cbc_aes_op() argument
778 memcpy(tmpl->ctx.blkcipher.iv, req->info, AES_BLOCK_SIZE); in mv_cesa_cbc_aes_op()
780 return mv_cesa_aes_op(req, tmpl); in mv_cesa_cbc_aes_op()
783 static int mv_cesa_cbc_aes_encrypt(struct ablkcipher_request *req) in mv_cesa_cbc_aes_encrypt() argument
789 return mv_cesa_cbc_aes_op(req, &tmpl); in mv_cesa_cbc_aes_encrypt()
792 static int mv_cesa_cbc_aes_decrypt(struct ablkcipher_request *req) in mv_cesa_cbc_aes_decrypt() argument
798 return mv_cesa_cbc_aes_op(req, &tmpl); in mv_cesa_cbc_aes_decrypt()