Lines Matching refs:rctx
581 struct sahara_aes_reqctx *rctx; in sahara_aes_process() local
595 rctx = ablkcipher_request_ctx(req); in sahara_aes_process()
597 rctx->mode &= FLAGS_MODE_MASK; in sahara_aes_process()
598 dev->flags = (dev->flags & ~FLAGS_MODE_MASK) | rctx->mode; in sahara_aes_process()
666 struct sahara_aes_reqctx *rctx = ablkcipher_request_ctx(req); in sahara_aes_crypt() local
679 rctx->mode = mode; in sahara_aes_crypt()
789 struct sahara_sha_reqctx *rctx) in sahara_sha_init_hdr() argument
793 hdr = rctx->mode; in sahara_sha_init_hdr()
795 if (rctx->first) { in sahara_sha_init_hdr()
802 if (rctx->last) in sahara_sha_init_hdr()
812 struct sahara_sha_reqctx *rctx, in sahara_sha_hw_links_create() argument
819 dev->in_sg = rctx->in_sg; in sahara_sha_hw_links_create()
821 dev->nb_in_sg = sahara_sg_length(dev->in_sg, rctx->total); in sahara_sha_hw_links_create()
828 if (rctx->in_sg_chained) { in sahara_sha_hw_links_create()
867 struct sahara_sha_reqctx *rctx, in sahara_sha_hw_data_descriptor_create() argument
874 if (rctx->first) in sahara_sha_hw_data_descriptor_create()
876 dev->hw_desc[index]->hdr = sahara_sha_init_hdr(dev, rctx); in sahara_sha_hw_data_descriptor_create()
881 dev->hw_desc[index]->len1 = rctx->total; in sahara_sha_hw_data_descriptor_create()
885 rctx->sg_in_idx = 0; in sahara_sha_hw_data_descriptor_create()
889 i = sahara_sha_hw_links_create(dev, rctx, index); in sahara_sha_hw_data_descriptor_create()
891 rctx->sg_in_idx = index; in sahara_sha_hw_data_descriptor_create()
899 result_len = rctx->context_size; in sahara_sha_hw_data_descriptor_create()
920 struct sahara_sha_reqctx *rctx, in sahara_sha_hw_context_descriptor_create() argument
924 dev->hw_desc[index]->hdr = sahara_sha_init_hdr(dev, rctx); in sahara_sha_hw_context_descriptor_create()
926 dev->hw_desc[index]->len1 = rctx->context_size; in sahara_sha_hw_context_descriptor_create()
931 dev->hw_link[index]->len = rctx->context_size; in sahara_sha_hw_context_descriptor_create()
959 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_prepare_request() local
967 len = rctx->buf_cnt + req->nbytes; in sahara_sha_prepare_request()
970 if (!rctx->last && (len < block_size)) { in sahara_sha_prepare_request()
972 scatterwalk_map_and_copy(rctx->buf + rctx->buf_cnt, req->src, in sahara_sha_prepare_request()
974 rctx->buf_cnt += req->nbytes; in sahara_sha_prepare_request()
980 if (rctx->buf_cnt) in sahara_sha_prepare_request()
981 memcpy(rctx->rembuf, rctx->buf, rctx->buf_cnt); in sahara_sha_prepare_request()
984 hash_later = rctx->last ? 0 : len & (block_size - 1); in sahara_sha_prepare_request()
988 scatterwalk_map_and_copy(rctx->buf, req->src, offset, in sahara_sha_prepare_request()
998 if (rctx->buf_cnt && req->nbytes) { in sahara_sha_prepare_request()
999 sg_init_table(rctx->in_sg_chain, 2); in sahara_sha_prepare_request()
1000 sg_set_buf(rctx->in_sg_chain, rctx->rembuf, rctx->buf_cnt); in sahara_sha_prepare_request()
1002 scatterwalk_sg_chain(rctx->in_sg_chain, 2, req->src); in sahara_sha_prepare_request()
1004 rctx->total = req->nbytes + rctx->buf_cnt; in sahara_sha_prepare_request()
1005 rctx->in_sg = rctx->in_sg_chain; in sahara_sha_prepare_request()
1007 rctx->in_sg_chained = true; in sahara_sha_prepare_request()
1008 req->src = rctx->in_sg_chain; in sahara_sha_prepare_request()
1010 } else if (rctx->buf_cnt) { in sahara_sha_prepare_request()
1012 rctx->in_sg = req->src; in sahara_sha_prepare_request()
1014 rctx->in_sg = rctx->in_sg_chain; in sahara_sha_prepare_request()
1016 sg_init_one(rctx->in_sg, rctx->rembuf, rctx->buf_cnt); in sahara_sha_prepare_request()
1017 rctx->total = rctx->buf_cnt; in sahara_sha_prepare_request()
1018 rctx->in_sg_chained = false; in sahara_sha_prepare_request()
1021 rctx->in_sg = req->src; in sahara_sha_prepare_request()
1022 rctx->total = req->nbytes; in sahara_sha_prepare_request()
1023 req->src = rctx->in_sg; in sahara_sha_prepare_request()
1024 rctx->in_sg_chained = false; in sahara_sha_prepare_request()
1028 rctx->buf_cnt = hash_later; in sahara_sha_prepare_request()
1034 struct sahara_sha_reqctx *rctx) in sahara_sha_unmap_sg() argument
1038 if (rctx->in_sg_chained) { in sahara_sha_unmap_sg()
1053 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_process() local
1061 if (rctx->first) { in sahara_sha_process()
1062 sahara_sha_hw_data_descriptor_create(dev, rctx, req, 0); in sahara_sha_process()
1064 rctx->first = 0; in sahara_sha_process()
1066 memcpy(dev->context_base, rctx->context, rctx->context_size); in sahara_sha_process()
1068 sahara_sha_hw_context_descriptor_create(dev, rctx, req, 0); in sahara_sha_process()
1070 sahara_sha_hw_data_descriptor_create(dev, rctx, req, 1); in sahara_sha_process()
1088 if (rctx->sg_in_idx) in sahara_sha_process()
1089 sahara_sha_unmap_sg(dev, rctx); in sahara_sha_process()
1091 memcpy(rctx->context, dev->context_base, rctx->context_size); in sahara_sha_process()
1094 memcpy(req->result, rctx->context, rctx->digest_size); in sahara_sha_process()
1144 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_enqueue() local
1151 mutex_lock(&rctx->mutex); in sahara_sha_enqueue()
1152 rctx->last = last; in sahara_sha_enqueue()
1154 if (!rctx->active) { in sahara_sha_enqueue()
1155 rctx->active = 1; in sahara_sha_enqueue()
1156 rctx->first = 1; in sahara_sha_enqueue()
1164 mutex_unlock(&rctx->mutex); in sahara_sha_enqueue()
1172 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_init() local
1174 memset(rctx, 0, sizeof(*rctx)); in sahara_sha_init()
1178 rctx->mode |= SAHARA_HDR_MDHA_ALG_SHA1; in sahara_sha_init()
1179 rctx->digest_size = SHA1_DIGEST_SIZE; in sahara_sha_init()
1182 rctx->mode |= SAHARA_HDR_MDHA_ALG_SHA256; in sahara_sha_init()
1183 rctx->digest_size = SHA256_DIGEST_SIZE; in sahara_sha_init()
1189 rctx->context_size = rctx->digest_size + 4; in sahara_sha_init()
1190 rctx->active = 0; in sahara_sha_init()
1192 mutex_init(&rctx->mutex); in sahara_sha_init()
1224 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_export() local
1227 memcpy(out + sizeof(struct sahara_sha_reqctx), rctx, in sahara_sha_export()
1237 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_import() local
1240 memcpy(rctx, in + sizeof(struct sahara_sha_reqctx), in sahara_sha_import()