Lines Matching refs:edesc

119 	struct ahash_edesc *edesc;  member
543 struct ahash_edesc *edesc, in ahash_unmap() argument
548 if (edesc->src_nents) in ahash_unmap()
549 dma_unmap_sg(dev, req->src, edesc->src_nents, DMA_TO_DEVICE); in ahash_unmap()
551 if (edesc->sec4_sg_bytes) in ahash_unmap()
552 dma_unmap_single(dev, edesc->sec4_sg_dma, in ahash_unmap()
553 edesc->sec4_sg_bytes, DMA_TO_DEVICE); in ahash_unmap()
563 struct ahash_edesc *edesc, in ahash_unmap_ctx() argument
572 ahash_unmap(dev, edesc, req, dst_len); in ahash_unmap_ctx()
580 struct ahash_edesc *edesc; in ahash_done_cpy() local
590 edesc = state->edesc; in ahash_done_cpy()
591 has_bklog = edesc->bklog; in ahash_done_cpy()
596 ahash_unmap_ctx(jrdev, edesc, req, digestsize, dir); in ahash_done_cpy()
598 kfree(edesc); in ahash_done_cpy()
631 struct ahash_edesc *edesc; in ahash_done_switch() local
641 edesc = state->edesc; in ahash_done_switch()
642 has_bklog = edesc->bklog; in ahash_done_switch()
646 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, dir); in ahash_done_switch()
647 kfree(edesc); in ahash_done_switch()
702 struct ahash_edesc *edesc; in ahash_edesc_alloc() local
705 edesc = kzalloc(sizeof(*edesc) + sg_size, GFP_DMA | flags); in ahash_edesc_alloc()
706 if (!edesc) { in ahash_edesc_alloc()
711 state->edesc = edesc; in ahash_edesc_alloc()
713 init_job_desc_shared(edesc->hw_desc, sh_desc_dma, desc_len(sh_desc), in ahash_edesc_alloc()
716 return edesc; in ahash_edesc_alloc()
720 struct ahash_edesc *edesc, in ahash_edesc_add_src() argument
729 struct sec4_sg_entry *sg = edesc->sec4_sg; in ahash_edesc_add_src()
741 edesc->sec4_sg_bytes = sgsize; in ahash_edesc_add_src()
742 edesc->sec4_sg_dma = src_dma; in ahash_edesc_add_src()
749 append_seq_in_ptr(edesc->hw_desc, src_dma, first_bytes + to_hash, in ahash_edesc_add_src()
761 u32 *desc = state->edesc->hw_desc; in ahash_do_one_req()
764 state->edesc->bklog = true; in ahash_do_one_req()
772 ahash_unmap(jrdev, state->edesc, req, 0); in ahash_do_one_req()
773 kfree(state->edesc); in ahash_do_one_req()
789 struct ahash_edesc *edesc = state->edesc; in ahash_enqueue_req() local
790 u32 *desc = edesc->hw_desc; in ahash_enqueue_req()
807 ahash_unmap_ctx(jrdev, edesc, req, dst_len, dir); in ahash_enqueue_req()
808 kfree(edesc); in ahash_enqueue_req()
828 struct ahash_edesc *edesc; in ahash_update_ctx() local
874 edesc = ahash_edesc_alloc(req, pad_nents, ctx->sh_desc_update, in ahash_update_ctx()
876 if (!edesc) { in ahash_update_ctx()
881 edesc->src_nents = src_nents; in ahash_update_ctx()
882 edesc->sec4_sg_bytes = sec4_sg_bytes; in ahash_update_ctx()
885 edesc->sec4_sg, DMA_BIDIRECTIONAL); in ahash_update_ctx()
889 ret = buf_map_to_sec4_sg(jrdev, edesc->sec4_sg + 1, state); in ahash_update_ctx()
895 edesc->sec4_sg + sec4_sg_src_index, in ahash_update_ctx()
898 sg_to_sec4_set_last(edesc->sec4_sg + sec4_sg_src_index - in ahash_update_ctx()
901 desc = edesc->hw_desc; in ahash_update_ctx()
903 edesc->sec4_sg_dma = dma_map_single(jrdev, edesc->sec4_sg, in ahash_update_ctx()
906 if (dma_mapping_error(jrdev, edesc->sec4_sg_dma)) { in ahash_update_ctx()
912 append_seq_in_ptr(desc, edesc->sec4_sg_dma, ctx->ctx_len + in ahash_update_ctx()
935 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_BIDIRECTIONAL); in ahash_update_ctx()
936 kfree(edesc); in ahash_update_ctx()
950 struct ahash_edesc *edesc; in ahash_final_ctx() local
957 edesc = ahash_edesc_alloc(req, 4, ctx->sh_desc_fin, in ahash_final_ctx()
959 if (!edesc) in ahash_final_ctx()
962 desc = edesc->hw_desc; in ahash_final_ctx()
964 edesc->sec4_sg_bytes = sec4_sg_bytes; in ahash_final_ctx()
967 edesc->sec4_sg, DMA_BIDIRECTIONAL); in ahash_final_ctx()
971 ret = buf_map_to_sec4_sg(jrdev, edesc->sec4_sg + 1, state); in ahash_final_ctx()
975 sg_to_sec4_set_last(edesc->sec4_sg + (buflen ? 1 : 0)); in ahash_final_ctx()
977 edesc->sec4_sg_dma = dma_map_single(jrdev, edesc->sec4_sg, in ahash_final_ctx()
979 if (dma_mapping_error(jrdev, edesc->sec4_sg_dma)) { in ahash_final_ctx()
985 append_seq_in_ptr(desc, edesc->sec4_sg_dma, ctx->ctx_len + buflen, in ahash_final_ctx()
996 ahash_unmap_ctx(jrdev, edesc, req, digestsize, DMA_BIDIRECTIONAL); in ahash_final_ctx()
997 kfree(edesc); in ahash_final_ctx()
1012 struct ahash_edesc *edesc; in ahash_finup_ctx() local
1035 edesc = ahash_edesc_alloc(req, sec4_sg_src_index + mapped_nents, in ahash_finup_ctx()
1037 if (!edesc) { in ahash_finup_ctx()
1042 desc = edesc->hw_desc; in ahash_finup_ctx()
1044 edesc->src_nents = src_nents; in ahash_finup_ctx()
1047 edesc->sec4_sg, DMA_BIDIRECTIONAL); in ahash_finup_ctx()
1051 ret = buf_map_to_sec4_sg(jrdev, edesc->sec4_sg + 1, state); in ahash_finup_ctx()
1055 ret = ahash_edesc_add_src(ctx, edesc, req, mapped_nents, in ahash_finup_ctx()
1070 ahash_unmap_ctx(jrdev, edesc, req, digestsize, DMA_BIDIRECTIONAL); in ahash_finup_ctx()
1071 kfree(edesc); in ahash_finup_ctx()
1084 struct ahash_edesc *edesc; in ahash_digest() local
1107 edesc = ahash_edesc_alloc(req, mapped_nents > 1 ? mapped_nents : 0, in ahash_digest()
1109 if (!edesc) { in ahash_digest()
1114 edesc->src_nents = src_nents; in ahash_digest()
1116 ret = ahash_edesc_add_src(ctx, edesc, req, mapped_nents, 0, 0, in ahash_digest()
1119 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_digest()
1120 kfree(edesc); in ahash_digest()
1124 desc = edesc->hw_desc; in ahash_digest()
1128 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_digest()
1129 kfree(edesc); in ahash_digest()
1152 struct ahash_edesc *edesc; in ahash_final_no_ctx() local
1156 edesc = ahash_edesc_alloc(req, 0, ctx->sh_desc_digest, in ahash_final_no_ctx()
1158 if (!edesc) in ahash_final_no_ctx()
1161 desc = edesc->hw_desc; in ahash_final_no_ctx()
1185 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_final_no_ctx()
1186 kfree(edesc); in ahash_final_no_ctx()
1203 struct ahash_edesc *edesc; in ahash_update_no_ctx() local
1249 edesc = ahash_edesc_alloc(req, pad_nents, in ahash_update_no_ctx()
1252 if (!edesc) { in ahash_update_no_ctx()
1257 edesc->src_nents = src_nents; in ahash_update_no_ctx()
1258 edesc->sec4_sg_bytes = sec4_sg_bytes; in ahash_update_no_ctx()
1260 ret = buf_map_to_sec4_sg(jrdev, edesc->sec4_sg, state); in ahash_update_no_ctx()
1264 sg_to_sec4_sg_last(req->src, src_len, edesc->sec4_sg + 1, 0); in ahash_update_no_ctx()
1266 desc = edesc->hw_desc; in ahash_update_no_ctx()
1268 edesc->sec4_sg_dma = dma_map_single(jrdev, edesc->sec4_sg, in ahash_update_no_ctx()
1271 if (dma_mapping_error(jrdev, edesc->sec4_sg_dma)) { in ahash_update_no_ctx()
1277 append_seq_in_ptr(desc, edesc->sec4_sg_dma, to_hash, LDST_SGF); in ahash_update_no_ctx()
1306 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_TO_DEVICE); in ahash_update_no_ctx()
1307 kfree(edesc); in ahash_update_no_ctx()
1322 struct ahash_edesc *edesc; in ahash_finup_no_ctx() local
1347 edesc = ahash_edesc_alloc(req, sec4_sg_src_index + mapped_nents, in ahash_finup_no_ctx()
1349 if (!edesc) { in ahash_finup_no_ctx()
1354 desc = edesc->hw_desc; in ahash_finup_no_ctx()
1356 edesc->src_nents = src_nents; in ahash_finup_no_ctx()
1357 edesc->sec4_sg_bytes = sec4_sg_bytes; in ahash_finup_no_ctx()
1359 ret = buf_map_to_sec4_sg(jrdev, edesc->sec4_sg, state); in ahash_finup_no_ctx()
1363 ret = ahash_edesc_add_src(ctx, edesc, req, mapped_nents, 1, buflen, in ahash_finup_no_ctx()
1381 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_finup_no_ctx()
1382 kfree(edesc); in ahash_finup_no_ctx()
1401 struct ahash_edesc *edesc; in ahash_update_first() local
1441 edesc = ahash_edesc_alloc(req, mapped_nents > 1 ? in ahash_update_first()
1445 if (!edesc) { in ahash_update_first()
1450 edesc->src_nents = src_nents; in ahash_update_first()
1452 ret = ahash_edesc_add_src(ctx, edesc, req, mapped_nents, 0, 0, in ahash_update_first()
1457 desc = edesc->hw_desc; in ahash_update_first()
1489 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_TO_DEVICE); in ahash_update_first()
1490 kfree(edesc); in ahash_update_first()