Lines Matching refs:edesc

26 static void rsa_io_unmap(struct device *dev, struct rsa_edesc *edesc,  in rsa_io_unmap()  argument
29 dma_unmap_sg(dev, req->dst, edesc->dst_nents, DMA_FROM_DEVICE); in rsa_io_unmap()
30 dma_unmap_sg(dev, req->src, edesc->src_nents, DMA_TO_DEVICE); in rsa_io_unmap()
32 if (edesc->sec4_sg_bytes) in rsa_io_unmap()
33 dma_unmap_single(dev, edesc->sec4_sg_dma, edesc->sec4_sg_bytes, in rsa_io_unmap()
37 static void rsa_pub_unmap(struct device *dev, struct rsa_edesc *edesc, in rsa_pub_unmap() argument
43 struct rsa_pub_pdb *pdb = &edesc->pdb.pub; in rsa_pub_unmap()
49 static void rsa_priv_f1_unmap(struct device *dev, struct rsa_edesc *edesc, in rsa_priv_f1_unmap() argument
55 struct rsa_priv_f1_pdb *pdb = &edesc->pdb.priv_f1; in rsa_priv_f1_unmap()
61 static void rsa_priv_f2_unmap(struct device *dev, struct rsa_edesc *edesc, in rsa_priv_f2_unmap() argument
67 struct rsa_priv_f2_pdb *pdb = &edesc->pdb.priv_f2; in rsa_priv_f2_unmap()
78 static void rsa_priv_f3_unmap(struct device *dev, struct rsa_edesc *edesc, in rsa_priv_f3_unmap() argument
84 struct rsa_priv_f3_pdb *pdb = &edesc->pdb.priv_f3; in rsa_priv_f3_unmap()
101 struct rsa_edesc *edesc; in rsa_pub_done() local
106 edesc = container_of(desc, struct rsa_edesc, hw_desc[0]); in rsa_pub_done()
108 rsa_pub_unmap(dev, edesc, req); in rsa_pub_done()
109 rsa_io_unmap(dev, edesc, req); in rsa_pub_done()
110 kfree(edesc); in rsa_pub_done()
119 struct rsa_edesc *edesc; in rsa_priv_f1_done() local
124 edesc = container_of(desc, struct rsa_edesc, hw_desc[0]); in rsa_priv_f1_done()
126 rsa_priv_f1_unmap(dev, edesc, req); in rsa_priv_f1_done()
127 rsa_io_unmap(dev, edesc, req); in rsa_priv_f1_done()
128 kfree(edesc); in rsa_priv_f1_done()
137 struct rsa_edesc *edesc; in rsa_priv_f2_done() local
142 edesc = container_of(desc, struct rsa_edesc, hw_desc[0]); in rsa_priv_f2_done()
144 rsa_priv_f2_unmap(dev, edesc, req); in rsa_priv_f2_done()
145 rsa_io_unmap(dev, edesc, req); in rsa_priv_f2_done()
146 kfree(edesc); in rsa_priv_f2_done()
155 struct rsa_edesc *edesc; in rsa_priv_f3_done() local
160 edesc = container_of(desc, struct rsa_edesc, hw_desc[0]); in rsa_priv_f3_done()
162 rsa_priv_f3_unmap(dev, edesc, req); in rsa_priv_f3_done()
163 rsa_io_unmap(dev, edesc, req); in rsa_priv_f3_done()
164 kfree(edesc); in rsa_priv_f3_done()
219 struct rsa_edesc *edesc; in rsa_edesc_alloc() local
246 edesc = kzalloc(sizeof(*edesc) + desclen + sec4_sg_bytes, in rsa_edesc_alloc()
248 if (!edesc) in rsa_edesc_alloc()
263 edesc->sec4_sg = (void *)edesc + sizeof(*edesc) + desclen; in rsa_edesc_alloc()
267 sg_to_sec4_sg_last(req->src, src_nents, edesc->sec4_sg, 0); in rsa_edesc_alloc()
272 edesc->sec4_sg + sec4_sg_index, 0); in rsa_edesc_alloc()
275 edesc->src_nents = src_nents; in rsa_edesc_alloc()
276 edesc->dst_nents = dst_nents; in rsa_edesc_alloc()
279 return edesc; in rsa_edesc_alloc()
281 edesc->sec4_sg_dma = dma_map_single(dev, edesc->sec4_sg, in rsa_edesc_alloc()
283 if (dma_mapping_error(dev, edesc->sec4_sg_dma)) { in rsa_edesc_alloc()
288 edesc->sec4_sg_bytes = sec4_sg_bytes; in rsa_edesc_alloc()
290 return edesc; in rsa_edesc_alloc()
297 kfree(edesc); in rsa_edesc_alloc()
302 struct rsa_edesc *edesc) in set_rsa_pub_pdb() argument
308 struct rsa_pub_pdb *pdb = &edesc->pdb.pub; in set_rsa_pub_pdb()
324 if (edesc->src_nents > 1) { in set_rsa_pub_pdb()
326 pdb->f_dma = edesc->sec4_sg_dma; in set_rsa_pub_pdb()
327 sec4_sg_index += edesc->src_nents; in set_rsa_pub_pdb()
332 if (edesc->dst_nents > 1) { in set_rsa_pub_pdb()
334 pdb->g_dma = edesc->sec4_sg_dma + in set_rsa_pub_pdb()
347 struct rsa_edesc *edesc) in set_rsa_priv_f1_pdb() argument
353 struct rsa_priv_f1_pdb *pdb = &edesc->pdb.priv_f1; in set_rsa_priv_f1_pdb()
369 if (edesc->src_nents > 1) { in set_rsa_priv_f1_pdb()
371 pdb->g_dma = edesc->sec4_sg_dma; in set_rsa_priv_f1_pdb()
372 sec4_sg_index += edesc->src_nents; in set_rsa_priv_f1_pdb()
377 if (edesc->dst_nents > 1) { in set_rsa_priv_f1_pdb()
379 pdb->f_dma = edesc->sec4_sg_dma + in set_rsa_priv_f1_pdb()
391 struct rsa_edesc *edesc) in set_rsa_priv_f2_pdb() argument
397 struct rsa_priv_f2_pdb *pdb = &edesc->pdb.priv_f2; in set_rsa_priv_f2_pdb()
432 if (edesc->src_nents > 1) { in set_rsa_priv_f2_pdb()
434 pdb->g_dma = edesc->sec4_sg_dma; in set_rsa_priv_f2_pdb()
435 sec4_sg_index += edesc->src_nents; in set_rsa_priv_f2_pdb()
440 if (edesc->dst_nents > 1) { in set_rsa_priv_f2_pdb()
442 pdb->f_dma = edesc->sec4_sg_dma + in set_rsa_priv_f2_pdb()
466 struct rsa_edesc *edesc) in set_rsa_priv_f3_pdb() argument
472 struct rsa_priv_f3_pdb *pdb = &edesc->pdb.priv_f3; in set_rsa_priv_f3_pdb()
519 if (edesc->src_nents > 1) { in set_rsa_priv_f3_pdb()
521 pdb->g_dma = edesc->sec4_sg_dma; in set_rsa_priv_f3_pdb()
522 sec4_sg_index += edesc->src_nents; in set_rsa_priv_f3_pdb()
527 if (edesc->dst_nents > 1) { in set_rsa_priv_f3_pdb()
529 pdb->f_dma = edesc->sec4_sg_dma + in set_rsa_priv_f3_pdb()
562 struct rsa_edesc *edesc; in caam_rsa_enc() local
575 edesc = rsa_edesc_alloc(req, DESC_RSA_PUB_LEN); in caam_rsa_enc()
576 if (IS_ERR(edesc)) in caam_rsa_enc()
577 return PTR_ERR(edesc); in caam_rsa_enc()
580 ret = set_rsa_pub_pdb(req, edesc); in caam_rsa_enc()
585 init_rsa_pub_desc(edesc->hw_desc, &edesc->pdb.pub); in caam_rsa_enc()
587 ret = caam_jr_enqueue(jrdev, edesc->hw_desc, rsa_pub_done, req); in caam_rsa_enc()
591 rsa_pub_unmap(jrdev, edesc, req); in caam_rsa_enc()
594 rsa_io_unmap(jrdev, edesc, req); in caam_rsa_enc()
595 kfree(edesc); in caam_rsa_enc()
604 struct rsa_edesc *edesc; in caam_rsa_dec_priv_f1() local
608 edesc = rsa_edesc_alloc(req, DESC_RSA_PRIV_F1_LEN); in caam_rsa_dec_priv_f1()
609 if (IS_ERR(edesc)) in caam_rsa_dec_priv_f1()
610 return PTR_ERR(edesc); in caam_rsa_dec_priv_f1()
613 ret = set_rsa_priv_f1_pdb(req, edesc); in caam_rsa_dec_priv_f1()
618 init_rsa_priv_f1_desc(edesc->hw_desc, &edesc->pdb.priv_f1); in caam_rsa_dec_priv_f1()
620 ret = caam_jr_enqueue(jrdev, edesc->hw_desc, rsa_priv_f1_done, req); in caam_rsa_dec_priv_f1()
624 rsa_priv_f1_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f1()
627 rsa_io_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f1()
628 kfree(edesc); in caam_rsa_dec_priv_f1()
637 struct rsa_edesc *edesc; in caam_rsa_dec_priv_f2() local
641 edesc = rsa_edesc_alloc(req, DESC_RSA_PRIV_F2_LEN); in caam_rsa_dec_priv_f2()
642 if (IS_ERR(edesc)) in caam_rsa_dec_priv_f2()
643 return PTR_ERR(edesc); in caam_rsa_dec_priv_f2()
646 ret = set_rsa_priv_f2_pdb(req, edesc); in caam_rsa_dec_priv_f2()
651 init_rsa_priv_f2_desc(edesc->hw_desc, &edesc->pdb.priv_f2); in caam_rsa_dec_priv_f2()
653 ret = caam_jr_enqueue(jrdev, edesc->hw_desc, rsa_priv_f2_done, req); in caam_rsa_dec_priv_f2()
657 rsa_priv_f2_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f2()
660 rsa_io_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f2()
661 kfree(edesc); in caam_rsa_dec_priv_f2()
670 struct rsa_edesc *edesc; in caam_rsa_dec_priv_f3() local
674 edesc = rsa_edesc_alloc(req, DESC_RSA_PRIV_F3_LEN); in caam_rsa_dec_priv_f3()
675 if (IS_ERR(edesc)) in caam_rsa_dec_priv_f3()
676 return PTR_ERR(edesc); in caam_rsa_dec_priv_f3()
679 ret = set_rsa_priv_f3_pdb(req, edesc); in caam_rsa_dec_priv_f3()
684 init_rsa_priv_f3_desc(edesc->hw_desc, &edesc->pdb.priv_f3); in caam_rsa_dec_priv_f3()
686 ret = caam_jr_enqueue(jrdev, edesc->hw_desc, rsa_priv_f3_done, req); in caam_rsa_dec_priv_f3()
690 rsa_priv_f3_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f3()
693 rsa_io_unmap(jrdev, edesc, req); in caam_rsa_dec_priv_f3()
694 kfree(edesc); in caam_rsa_dec_priv_f3()