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);
606 struct ahash_request *req, int dst_len) in ahash_unmap() argument
609 dma_unmap_sg_chained(dev, req->src, edesc->src_nents, in ahash_unmap()
621 struct ahash_request *req, int dst_len, u32 flag) in ahash_unmap_ctx() argument
623 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_unmap_ctx()
625 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_unmap_ctx()
629 ahash_unmap(dev, edesc, req, dst_len); in ahash_unmap_ctx()
635 struct ahash_request *req = context; in ahash_done() local
637 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_done()
641 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_done()
651 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_done()
658 if (req->result) in ahash_done()
660 DUMP_PREFIX_ADDRESS, 16, 4, req->result, in ahash_done()
664 req->base.complete(&req->base, err); in ahash_done()
670 struct ahash_request *req = context; in ahash_done_bi() local
672 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_done_bi()
675 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_done_bi()
686 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_BIDIRECTIONAL); in ahash_done_bi()
693 if (req->result) in ahash_done_bi()
695 DUMP_PREFIX_ADDRESS, 16, 4, req->result, in ahash_done_bi()
699 req->base.complete(&req->base, err); in ahash_done_bi()
705 struct ahash_request *req = context; in ahash_done_ctx_src() local
707 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_done_ctx_src()
711 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_done_ctx_src()
721 ahash_unmap_ctx(jrdev, edesc, req, digestsize, DMA_TO_DEVICE); in ahash_done_ctx_src()
728 if (req->result) in ahash_done_ctx_src()
730 DUMP_PREFIX_ADDRESS, 16, 4, req->result, in ahash_done_ctx_src()
734 req->base.complete(&req->base, err); in ahash_done_ctx_src()
740 struct ahash_request *req = context; in ahash_done_ctx_dst() local
742 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_done_ctx_dst()
745 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_done_ctx_dst()
756 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, DMA_FROM_DEVICE); in ahash_done_ctx_dst()
763 if (req->result) in ahash_done_ctx_dst()
765 DUMP_PREFIX_ADDRESS, 16, 4, req->result, in ahash_done_ctx_dst()
769 req->base.complete(&req->base, err); in ahash_done_ctx_dst()
773 static int ahash_update_ctx(struct ahash_request *req) in ahash_update_ctx() argument
775 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_update_ctx()
777 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_update_ctx()
779 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_update_ctx()
786 int in_len = *buflen + req->nbytes, to_hash; in ahash_update_ctx()
800 src_nents = __sg_count(req->src, req->nbytes - (*next_buflen), in ahash_update_ctx()
835 src_map_to_sec4_sg(jrdev, req->src, src_nents, in ahash_update_ctx()
839 scatterwalk_map_and_copy(next_buf, req->src, in ahash_update_ctx()
873 ret = caam_jr_enqueue(jrdev, desc, ahash_done_bi, req); in ahash_update_ctx()
877 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, in ahash_update_ctx()
882 scatterwalk_map_and_copy(buf + *buflen, req->src, 0, in ahash_update_ctx()
883 req->nbytes, 0); in ahash_update_ctx()
898 static int ahash_final_ctx(struct ahash_request *req) in ahash_final_ctx() argument
900 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_final_ctx()
902 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_final_ctx()
904 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_final_ctx()
958 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_final_ctx()
970 ret = caam_jr_enqueue(jrdev, desc, ahash_done_ctx_src, req); in ahash_final_ctx()
974 ahash_unmap_ctx(jrdev, edesc, req, digestsize, DMA_FROM_DEVICE); in ahash_final_ctx()
981 static int ahash_finup_ctx(struct ahash_request *req) in ahash_finup_ctx() argument
983 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_finup_ctx()
985 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_finup_ctx()
987 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_finup_ctx()
1003 src_nents = __sg_count(req->src, req->nbytes, &chained); 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()
1089 src_nents = sg_count(req->src, req->nbytes, &chained); in ahash_digest()
1090 dma_map_sg_chained(jrdev, req->src, src_nents ? : 1, DMA_TO_DEVICE, in ahash_digest()
1112 sg_to_sec4_sg_last(req->src, src_nents, edesc->sec4_sg, 0); in ahash_digest()
1122 src_dma = sg_dma_address(req->src); in ahash_digest()
1125 append_seq_in_ptr(desc, src_dma, req->nbytes, options); in ahash_digest()
1127 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_digest()
1139 ret = caam_jr_enqueue(jrdev, desc, ahash_done, req); in ahash_digest()
1143 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_digest()
1151 static int ahash_final_no_ctx(struct ahash_request *req) in ahash_final_no_ctx() argument
1153 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_final_no_ctx()
1155 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_final_no_ctx()
1157 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_final_no_ctx()
1189 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_final_no_ctx()
1202 ret = caam_jr_enqueue(jrdev, desc, ahash_done, req); in ahash_final_no_ctx()
1206 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_final_no_ctx()
1214 static int ahash_update_no_ctx(struct ahash_request *req) in ahash_update_no_ctx() argument
1216 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_update_no_ctx()
1218 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_update_no_ctx()
1220 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_update_no_ctx()
1227 int in_len = *buflen + req->nbytes, to_hash; in ahash_update_no_ctx()
1240 src_nents = __sg_count(req->src, req->nbytes - (*next_buflen), in ahash_update_no_ctx()
1266 src_map_to_sec4_sg(jrdev, req->src, src_nents, in ahash_update_no_ctx()
1269 scatterwalk_map_and_copy(next_buf, req->src, in ahash_update_no_ctx()
1300 ret = caam_jr_enqueue(jrdev, desc, ahash_done_ctx_dst, req); in ahash_update_no_ctx()
1307 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, in ahash_update_no_ctx()
1312 scatterwalk_map_and_copy(buf + *buflen, req->src, 0, in ahash_update_no_ctx()
1313 req->nbytes, 0); in ahash_update_no_ctx()
1329 static int ahash_finup_no_ctx(struct ahash_request *req) in ahash_finup_no_ctx() argument
1331 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_finup_no_ctx()
1333 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_finup_no_ctx()
1335 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_finup_no_ctx()
1350 src_nents = __sg_count(req->src, req->nbytes, &chained); in ahash_finup_no_ctx()
1377 src_map_to_sec4_sg(jrdev, req->src, src_nents, edesc->sec4_sg + 1, in ahash_finup_no_ctx()
1388 req->nbytes, LDST_SGF); in ahash_finup_no_ctx()
1390 edesc->dst_dma = map_seq_out_ptr_result(desc, jrdev, req->result, in ahash_finup_no_ctx()
1402 ret = caam_jr_enqueue(jrdev, desc, ahash_done, req); in ahash_finup_no_ctx()
1406 ahash_unmap(jrdev, edesc, req, digestsize); in ahash_finup_no_ctx()
1414 static int ahash_update_first(struct ahash_request *req) in ahash_update_first() argument
1416 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_update_first()
1418 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_update_first()
1420 gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG | in ahash_update_first()
1436 *next_buflen = req->nbytes & (crypto_tfm_alg_blocksize(&ahash->base) - in ahash_update_first()
1438 to_hash = req->nbytes - *next_buflen; in ahash_update_first()
1441 src_nents = sg_count(req->src, req->nbytes - (*next_buflen), in ahash_update_first()
1443 dma_map_sg_chained(jrdev, req->src, src_nents ? : 1, in ahash_update_first()
1467 sg_to_sec4_sg_last(req->src, src_nents, in ahash_update_first()
1480 src_dma = sg_dma_address(req->src); in ahash_update_first()
1485 scatterwalk_map_and_copy(next_buf, req->src, to_hash, in ahash_update_first()
1506 req); in ahash_update_first()
1513 ahash_unmap_ctx(jrdev, edesc, req, ctx->ctx_len, in ahash_update_first()
1521 scatterwalk_map_and_copy(next_buf, req->src, 0, in ahash_update_first()
1522 req->nbytes, 0); in ahash_update_first()
1533 static int ahash_finup_first(struct ahash_request *req) in ahash_finup_first() argument
1535 return ahash_digest(req); in ahash_finup_first()
1538 static int ahash_init(struct ahash_request *req) in ahash_init() argument
1540 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_init()
1554 static int ahash_update(struct ahash_request *req) in ahash_update() argument
1556 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_update()
1558 return state->update(req); in ahash_update()
1561 static int ahash_finup(struct ahash_request *req) in ahash_finup() argument
1563 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_finup()
1565 return state->finup(req); in ahash_finup()
1568 static int ahash_final(struct ahash_request *req) in ahash_final() argument
1570 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_final()
1572 return state->final(req); in ahash_final()
1575 static int ahash_export(struct ahash_request *req, void *out) in ahash_export() argument
1577 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_export()
1579 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_export()
1587 static int ahash_import(struct ahash_request *req, const void *in) in ahash_import() argument
1589 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req); in ahash_import()
1591 struct caam_hash_state *state = ahash_request_ctx(req); in ahash_import()