Lines Matching refs:edesc

43 static void rsa_io_unmap(struct device *dev, struct rsa_edesc *edesc,  in rsa_io_unmap()  argument
48 dma_unmap_sg(dev, req->dst, edesc->dst_nents, DMA_FROM_DEVICE); in rsa_io_unmap()
49 dma_unmap_sg(dev, req_ctx->fixup_src, edesc->src_nents, DMA_TO_DEVICE); in rsa_io_unmap()
51 if (edesc->sec4_sg_bytes) in rsa_io_unmap()
52 dma_unmap_single(dev, edesc->sec4_sg_dma, edesc->sec4_sg_bytes, in rsa_io_unmap()
56 static void rsa_pub_unmap(struct device *dev, struct rsa_edesc *edesc, in rsa_pub_unmap() argument
62 struct rsa_pub_pdb *pdb = &edesc->pdb.pub; in rsa_pub_unmap()
68 static void rsa_priv_f1_unmap(struct device *dev, struct rsa_edesc *edesc, in rsa_priv_f1_unmap() argument
74 struct rsa_priv_f1_pdb *pdb = &edesc->pdb.priv_f1; in rsa_priv_f1_unmap()
80 static void rsa_priv_f2_unmap(struct device *dev, struct rsa_edesc *edesc, in rsa_priv_f2_unmap() argument
86 struct rsa_priv_f2_pdb *pdb = &edesc->pdb.priv_f2; in rsa_priv_f2_unmap()
97 static void rsa_priv_f3_unmap(struct device *dev, struct rsa_edesc *edesc, in rsa_priv_f3_unmap() argument
103 struct rsa_priv_f3_pdb *pdb = &edesc->pdb.priv_f3; in rsa_priv_f3_unmap()
122 struct rsa_edesc *edesc; in rsa_pub_done() local
129 edesc = req_ctx->edesc; in rsa_pub_done()
130 has_bklog = edesc->bklog; in rsa_pub_done()
132 rsa_pub_unmap(dev, edesc, req); in rsa_pub_done()
133 rsa_io_unmap(dev, edesc, req); in rsa_pub_done()
134 kfree(edesc); in rsa_pub_done()
155 struct rsa_edesc *edesc; in rsa_priv_f_done() local
162 edesc = req_ctx->edesc; in rsa_priv_f_done()
163 has_bklog = edesc->bklog; in rsa_priv_f_done()
167 rsa_priv_f1_unmap(dev, edesc, req); in rsa_priv_f_done()
170 rsa_priv_f2_unmap(dev, edesc, req); in rsa_priv_f_done()
173 rsa_priv_f3_unmap(dev, edesc, req); in rsa_priv_f_done()
176 rsa_io_unmap(dev, edesc, req); in rsa_priv_f_done()
177 kfree(edesc); in rsa_priv_f_done()
249 struct rsa_edesc *edesc; in rsa_edesc_alloc() local
313 edesc = kzalloc(sizeof(*edesc) + desclen + sec4_sg_bytes, in rsa_edesc_alloc()
315 if (!edesc) in rsa_edesc_alloc()
318 edesc->sec4_sg = (void *)edesc + sizeof(*edesc) + desclen; in rsa_edesc_alloc()
320 dma_to_sec4_sg_one(edesc->sec4_sg, ctx->padding_dma, diff_size, in rsa_edesc_alloc()
325 edesc->sec4_sg + !!diff_size, 0); in rsa_edesc_alloc()
329 edesc->sec4_sg + sec4_sg_index, 0); in rsa_edesc_alloc()
332 edesc->src_nents = src_nents; in rsa_edesc_alloc()
333 edesc->dst_nents = dst_nents; in rsa_edesc_alloc()
335 req_ctx->edesc = edesc; in rsa_edesc_alloc()
338 return edesc; in rsa_edesc_alloc()
340 edesc->mapped_src_nents = mapped_src_nents; in rsa_edesc_alloc()
341 edesc->mapped_dst_nents = mapped_dst_nents; in rsa_edesc_alloc()
343 edesc->sec4_sg_dma = dma_map_single(dev, edesc->sec4_sg, in rsa_edesc_alloc()
345 if (dma_mapping_error(dev, edesc->sec4_sg_dma)) { in rsa_edesc_alloc()
350 edesc->sec4_sg_bytes = sec4_sg_bytes; in rsa_edesc_alloc()
353 DUMP_PREFIX_ADDRESS, 16, 4, edesc->sec4_sg, in rsa_edesc_alloc()
354 edesc->sec4_sg_bytes, 1); in rsa_edesc_alloc()
356 return edesc; in rsa_edesc_alloc()
359 kfree(edesc); in rsa_edesc_alloc()
376 u32 *desc = req_ctx->edesc->hw_desc; in akcipher_do_one_req()
379 req_ctx->edesc->bklog = true; in akcipher_do_one_req()
387 rsa_pub_unmap(jrdev, req_ctx->edesc, req); in akcipher_do_one_req()
388 rsa_io_unmap(jrdev, req_ctx->edesc, req); in akcipher_do_one_req()
389 kfree(req_ctx->edesc); in akcipher_do_one_req()
398 struct rsa_edesc *edesc) in set_rsa_pub_pdb() argument
405 struct rsa_pub_pdb *pdb = &edesc->pdb.pub; in set_rsa_pub_pdb()
421 if (edesc->mapped_src_nents > 1) { in set_rsa_pub_pdb()
423 pdb->f_dma = edesc->sec4_sg_dma; in set_rsa_pub_pdb()
424 sec4_sg_index += edesc->mapped_src_nents; in set_rsa_pub_pdb()
429 if (edesc->mapped_dst_nents > 1) { in set_rsa_pub_pdb()
431 pdb->g_dma = edesc->sec4_sg_dma + in set_rsa_pub_pdb()
444 struct rsa_edesc *edesc) in set_rsa_priv_f1_pdb() argument
450 struct rsa_priv_f1_pdb *pdb = &edesc->pdb.priv_f1; in set_rsa_priv_f1_pdb()
466 if (edesc->mapped_src_nents > 1) { in set_rsa_priv_f1_pdb()
468 pdb->g_dma = edesc->sec4_sg_dma; in set_rsa_priv_f1_pdb()
469 sec4_sg_index += edesc->mapped_src_nents; in set_rsa_priv_f1_pdb()
477 if (edesc->mapped_dst_nents > 1) { in set_rsa_priv_f1_pdb()
479 pdb->f_dma = edesc->sec4_sg_dma + in set_rsa_priv_f1_pdb()
491 struct rsa_edesc *edesc) in set_rsa_priv_f2_pdb() argument
497 struct rsa_priv_f2_pdb *pdb = &edesc->pdb.priv_f2; in set_rsa_priv_f2_pdb()
532 if (edesc->mapped_src_nents > 1) { in set_rsa_priv_f2_pdb()
534 pdb->g_dma = edesc->sec4_sg_dma; in set_rsa_priv_f2_pdb()
535 sec4_sg_index += edesc->mapped_src_nents; in set_rsa_priv_f2_pdb()
542 if (edesc->mapped_dst_nents > 1) { in set_rsa_priv_f2_pdb()
544 pdb->f_dma = edesc->sec4_sg_dma + in set_rsa_priv_f2_pdb()
568 struct rsa_edesc *edesc) in set_rsa_priv_f3_pdb() argument
574 struct rsa_priv_f3_pdb *pdb = &edesc->pdb.priv_f3; in set_rsa_priv_f3_pdb()
621 if (edesc->mapped_src_nents > 1) { in set_rsa_priv_f3_pdb()
623 pdb->g_dma = edesc->sec4_sg_dma; in set_rsa_priv_f3_pdb()
624 sec4_sg_index += edesc->mapped_src_nents; in set_rsa_priv_f3_pdb()
631 if (edesc->mapped_dst_nents > 1) { in set_rsa_priv_f3_pdb()
633 pdb->f_dma = edesc->sec4_sg_dma + in set_rsa_priv_f3_pdb()
670 struct rsa_edesc *edesc = req_ctx->edesc; in akcipher_enqueue_req() local
671 u32 *desc = edesc->hw_desc; in akcipher_enqueue_req()
689 rsa_priv_f1_unmap(jrdev, edesc, req); in akcipher_enqueue_req()
692 rsa_priv_f2_unmap(jrdev, edesc, req); in akcipher_enqueue_req()
695 rsa_priv_f3_unmap(jrdev, edesc, req); in akcipher_enqueue_req()
698 rsa_pub_unmap(jrdev, edesc, req); in akcipher_enqueue_req()
700 rsa_io_unmap(jrdev, edesc, req); in akcipher_enqueue_req()
701 kfree(edesc); in akcipher_enqueue_req()
713 struct rsa_edesc *edesc; in caam_rsa_enc() local
726 edesc = rsa_edesc_alloc(req, DESC_RSA_PUB_LEN); in caam_rsa_enc()
727 if (IS_ERR(edesc)) in caam_rsa_enc()
728 return PTR_ERR(edesc); in caam_rsa_enc()
731 ret = set_rsa_pub_pdb(req, edesc); in caam_rsa_enc()
736 init_rsa_pub_desc(edesc->hw_desc, &edesc->pdb.pub); in caam_rsa_enc()
741 rsa_io_unmap(jrdev, edesc, req); in caam_rsa_enc()
742 kfree(edesc); in caam_rsa_enc()
751 struct rsa_edesc *edesc; in caam_rsa_dec_priv_f1() local
755 edesc = rsa_edesc_alloc(req, DESC_RSA_PRIV_F1_LEN); in caam_rsa_dec_priv_f1()
756 if (IS_ERR(edesc)) in caam_rsa_dec_priv_f1()
757 return PTR_ERR(edesc); in caam_rsa_dec_priv_f1()
760 ret = set_rsa_priv_f1_pdb(req, edesc); in caam_rsa_dec_priv_f1()
765 init_rsa_priv_f1_desc(edesc->hw_desc, &edesc->pdb.priv_f1); in caam_rsa_dec_priv_f1()
770 rsa_io_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f1()
771 kfree(edesc); in caam_rsa_dec_priv_f1()
780 struct rsa_edesc *edesc; in caam_rsa_dec_priv_f2() local
784 edesc = rsa_edesc_alloc(req, DESC_RSA_PRIV_F2_LEN); in caam_rsa_dec_priv_f2()
785 if (IS_ERR(edesc)) in caam_rsa_dec_priv_f2()
786 return PTR_ERR(edesc); in caam_rsa_dec_priv_f2()
789 ret = set_rsa_priv_f2_pdb(req, edesc); in caam_rsa_dec_priv_f2()
794 init_rsa_priv_f2_desc(edesc->hw_desc, &edesc->pdb.priv_f2); in caam_rsa_dec_priv_f2()
799 rsa_io_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f2()
800 kfree(edesc); in caam_rsa_dec_priv_f2()
809 struct rsa_edesc *edesc; in caam_rsa_dec_priv_f3() local
813 edesc = rsa_edesc_alloc(req, DESC_RSA_PRIV_F3_LEN); in caam_rsa_dec_priv_f3()
814 if (IS_ERR(edesc)) in caam_rsa_dec_priv_f3()
815 return PTR_ERR(edesc); in caam_rsa_dec_priv_f3()
818 ret = set_rsa_priv_f3_pdb(req, edesc); in caam_rsa_dec_priv_f3()
823 init_rsa_priv_f3_desc(edesc->hw_desc, &edesc->pdb.priv_f3); in caam_rsa_dec_priv_f3()
828 rsa_io_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f3()
829 kfree(edesc); in caam_rsa_dec_priv_f3()