Lines Matching refs:req

131 	int (*update)(struct ahash_request *req);
132 int (*final)(struct ahash_request *req);
133 int (*finup)(struct ahash_request *req);
141 int (*update)(struct ahash_request *req);
142 int (*final)(struct ahash_request *req);
143 int (*finup)(struct ahash_request *req);
612 struct ahash_request *req, int dst_len) in ahash_unmap() argument
615 dma_unmap_sg(dev, req->src, edesc->src_nents, DMA_TO_DEVICE); in ahash_unmap()
626 struct ahash_request *req, int dst_len, u32 flag) in ahash_unmap_ctx() argument
628 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_unmap_ctx()
630 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_unmap_ctx()
634 ahash_unmap(dev, edesc, req, dst_len); in ahash_unmap_ctx()
640 struct ahash_request *req = context; in ahash_done() local
642 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_done()
646 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_done()
656 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_done()
663 if (req->result) in ahash_done()
665 DUMP_PREFIX_ADDRESS, 16, 4, req->result, in ahash_done()
669 req->base.complete(&req->base, err); in ahash_done()
675 struct ahash_request *req = context; in ahash_done_bi() local
677 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_done_bi()
680 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_done_bi()
691 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_BIDIRECTIONAL); in ahash_done_bi()
698 if (req->result) in ahash_done_bi()
700 DUMP_PREFIX_ADDRESS, 16, 4, req->result, in ahash_done_bi()
704 req->base.complete(&req->base, err); in ahash_done_bi()
710 struct ahash_request *req = context; in ahash_done_ctx_src() local
712 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_done_ctx_src()
716 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_done_ctx_src()
726 ahash_unmap_ctx(jrdev, edesc, req, digestsize, DMA_TO_DEVICE); in ahash_done_ctx_src()
733 if (req->result) in ahash_done_ctx_src()
735 DUMP_PREFIX_ADDRESS, 16, 4, req->result, in ahash_done_ctx_src()
739 req->base.complete(&req->base, err); in ahash_done_ctx_src()
745 struct ahash_request *req = context; in ahash_done_ctx_dst() local
747 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_done_ctx_dst()
750 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_done_ctx_dst()
761 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_FROM_DEVICE); in ahash_done_ctx_dst()
768 if (req->result) in ahash_done_ctx_dst()
770 DUMP_PREFIX_ADDRESS, 16, 4, req->result, in ahash_done_ctx_dst()
774 req->base.complete(&req->base, err); in ahash_done_ctx_dst()
778 static int ahash_update_ctx(struct ahash_request *req) in ahash_update_ctx() argument
780 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_update_ctx()
782 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_update_ctx()
784 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_update_ctx()
791 int in_len = *buflen + req->nbytes, to_hash; in ahash_update_ctx()
804 src_nents = sg_nents_for_len(req->src, in ahash_update_ctx()
805 req->nbytes - (*next_buflen)); in ahash_update_ctx()
838 src_map_to_sec4_sg(jrdev, req->src, src_nents, in ahash_update_ctx()
841 scatterwalk_map_and_copy(next_buf, req->src, in ahash_update_ctx()
875 ret = caam_jr_enqueue(jrdev, desc, ahash_done_bi, req); in ahash_update_ctx()
879 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, in ahash_update_ctx()
884 scatterwalk_map_and_copy(buf + *buflen, req->src, 0, in ahash_update_ctx()
885 req->nbytes, 0); in ahash_update_ctx()
900 static int ahash_final_ctx(struct ahash_request *req) in ahash_final_ctx() argument
902 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_final_ctx()
904 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_final_ctx()
906 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_final_ctx()
960 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_final_ctx()
972 ret = caam_jr_enqueue(jrdev, desc, ahash_done_ctx_src, req); in ahash_final_ctx()
976 ahash_unmap_ctx(jrdev, edesc, req, digestsize, DMA_FROM_DEVICE); in ahash_final_ctx()
983 static int ahash_finup_ctx(struct ahash_request *req) in ahash_finup_ctx() argument
985 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_finup_ctx()
987 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_finup_ctx()
989 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_finup_ctx()
1004 src_nents = sg_nents_for_len(req->src, req->nbytes); in ahash_finup_ctx()
1035 src_map_to_sec4_sg(jrdev, req->src, src_nents, edesc->sec4_sg + in ahash_finup_ctx()
1046 buflen + req->nbytes, LDST_SGF); in ahash_finup_ctx()
1048 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_finup_ctx()
1060 ret = caam_jr_enqueue(jrdev, desc, ahash_done_ctx_src, req); in ahash_finup_ctx()
1064 ahash_unmap_ctx(jrdev, edesc, req, digestsize, DMA_FROM_DEVICE); in ahash_finup_ctx()
1071 static int ahash_digest(struct ahash_request *req) in ahash_digest() argument
1073 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_digest()
1076 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_digest()
1088 src_nents = sg_count(req->src, req->nbytes); in ahash_digest()
1089 dma_map_sg(jrdev, req->src, src_nents ? : 1, DMA_TO_DEVICE); in ahash_digest()
1109 sg_to_sec4_sg_last(req->src, src_nents, edesc->sec4_sg, 0); in ahash_digest()
1119 src_dma = sg_dma_address(req->src); in ahash_digest()
1122 append_seq_in_ptr(desc, src_dma, req->nbytes, options); in ahash_digest()
1124 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_digest()
1136 ret = caam_jr_enqueue(jrdev, desc, ahash_done, req); in ahash_digest()
1140 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_digest()
1148 static int ahash_final_no_ctx(struct ahash_request *req) in ahash_final_no_ctx() argument
1150 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_final_no_ctx()
1152 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_final_no_ctx()
1154 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_final_no_ctx()
1185 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_final_no_ctx()
1198 ret = caam_jr_enqueue(jrdev, desc, ahash_done, req); in ahash_final_no_ctx()
1202 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_final_no_ctx()
1210 static int ahash_update_no_ctx(struct ahash_request *req) in ahash_update_no_ctx() argument
1212 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_update_no_ctx()
1214 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_update_no_ctx()
1216 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_update_no_ctx()
1223 int in_len = *buflen + req->nbytes, to_hash; in ahash_update_no_ctx()
1235 src_nents = sg_nents_for_len(req->src, in ahash_update_no_ctx()
1236 req->nbytes - (*next_buflen)); in ahash_update_no_ctx()
1260 src_map_to_sec4_sg(jrdev, req->src, src_nents, in ahash_update_no_ctx()
1263 scatterwalk_map_and_copy(next_buf, req->src, in ahash_update_no_ctx()
1295 ret = caam_jr_enqueue(jrdev, desc, ahash_done_ctx_dst, req); in ahash_update_no_ctx()
1302 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, in ahash_update_no_ctx()
1307 scatterwalk_map_and_copy(buf + *buflen, req->src, 0, in ahash_update_no_ctx()
1308 req->nbytes, 0); in ahash_update_no_ctx()
1324 static int ahash_finup_no_ctx(struct ahash_request *req) in ahash_finup_no_ctx() argument
1326 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_finup_no_ctx()
1328 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_finup_no_ctx()
1330 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_finup_no_ctx()
1344 src_nents = sg_nents_for_len(req->src, req->nbytes); in ahash_finup_no_ctx()
1370 src_map_to_sec4_sg(jrdev, req->src, src_nents, edesc->sec4_sg + 1); in ahash_finup_no_ctx()
1380 req->nbytes, LDST_SGF); in ahash_finup_no_ctx()
1382 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_finup_no_ctx()
1394 ret = caam_jr_enqueue(jrdev, desc, ahash_done, req); in ahash_finup_no_ctx()
1398 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_finup_no_ctx()
1406 static int ahash_update_first(struct ahash_request *req) in ahash_update_first() argument
1408 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_update_first()
1410 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_update_first()
1412 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_update_first()
1427 *next_buflen = req->nbytes & (crypto_tfm_alg_blocksize(&ahash->base) - in ahash_update_first()
1429 to_hash = req->nbytes - *next_buflen; in ahash_update_first()
1432 src_nents = sg_count(req->src, req->nbytes - (*next_buflen)); in ahash_update_first()
1433 dma_map_sg(jrdev, req->src, src_nents ? : 1, DMA_TO_DEVICE); in ahash_update_first()
1455 sg_to_sec4_sg_last(req->src, src_nents, in ahash_update_first()
1468 src_dma = sg_dma_address(req->src); in ahash_update_first()
1473 scatterwalk_map_and_copy(next_buf, req->src, to_hash, in ahash_update_first()
1494 req); in ahash_update_first()
1501 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, in ahash_update_first()
1509 scatterwalk_map_and_copy(next_buf, req->src, 0, in ahash_update_first()
1510 req->nbytes, 0); in ahash_update_first()
1521 static int ahash_finup_first(struct ahash_request *req) in ahash_finup_first() argument
1523 return ahash_digest(req); in ahash_finup_first()
1526 static int ahash_init(struct ahash_request *req) in ahash_init() argument
1528 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_init()
1542 static int ahash_update(struct ahash_request *req) in ahash_update() argument
1544 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_update()
1546 return state->update(req); in ahash_update()
1549 static int ahash_finup(struct ahash_request *req) in ahash_finup() argument
1551 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_finup()
1553 return state->finup(req); in ahash_finup()
1556 static int ahash_final(struct ahash_request *req) in ahash_final() argument
1558 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_final()
1560 return state->final(req); in ahash_final()
1563 static int ahash_export(struct ahash_request *req, void *out) in ahash_export() argument
1565 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_export()
1588 static int ahash_import(struct ahash_request *req, const void *in) in ahash_import() argument
1590 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_import()