Lines Matching refs:rctx
555 struct sahara_aes_reqctx *rctx; in sahara_aes_process() local
569 rctx = ablkcipher_request_ctx(req); in sahara_aes_process()
571 rctx->mode &= FLAGS_MODE_MASK; in sahara_aes_process()
572 dev->flags = (dev->flags & ~FLAGS_MODE_MASK) | rctx->mode; in sahara_aes_process()
640 struct sahara_aes_reqctx *rctx = ablkcipher_request_ctx(req); in sahara_aes_crypt() local
653 rctx->mode = mode; in sahara_aes_crypt()
763 struct sahara_sha_reqctx *rctx) in sahara_sha_init_hdr() argument
767 hdr = rctx->mode; in sahara_sha_init_hdr()
769 if (rctx->first) { in sahara_sha_init_hdr()
776 if (rctx->last) in sahara_sha_init_hdr()
786 struct sahara_sha_reqctx *rctx, in sahara_sha_hw_links_create() argument
793 dev->in_sg = rctx->in_sg; in sahara_sha_hw_links_create()
795 dev->nb_in_sg = sg_nents_for_len(dev->in_sg, rctx->total); in sahara_sha_hw_links_create()
822 struct sahara_sha_reqctx *rctx, in sahara_sha_hw_data_descriptor_create() argument
829 if (rctx->first) in sahara_sha_hw_data_descriptor_create()
831 dev->hw_desc[index]->hdr = sahara_sha_init_hdr(dev, rctx); in sahara_sha_hw_data_descriptor_create()
836 dev->hw_desc[index]->len1 = rctx->total; in sahara_sha_hw_data_descriptor_create()
840 rctx->sg_in_idx = 0; in sahara_sha_hw_data_descriptor_create()
844 i = sahara_sha_hw_links_create(dev, rctx, index); in sahara_sha_hw_data_descriptor_create()
846 rctx->sg_in_idx = index; in sahara_sha_hw_data_descriptor_create()
854 result_len = rctx->context_size; in sahara_sha_hw_data_descriptor_create()
875 struct sahara_sha_reqctx *rctx, in sahara_sha_hw_context_descriptor_create() argument
879 dev->hw_desc[index]->hdr = sahara_sha_init_hdr(dev, rctx); in sahara_sha_hw_context_descriptor_create()
881 dev->hw_desc[index]->len1 = rctx->context_size; in sahara_sha_hw_context_descriptor_create()
886 dev->hw_link[index]->len = rctx->context_size; in sahara_sha_hw_context_descriptor_create()
914 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_prepare_request() local
922 len = rctx->buf_cnt + req->nbytes; in sahara_sha_prepare_request()
925 if (!rctx->last && (len < block_size)) { in sahara_sha_prepare_request()
927 scatterwalk_map_and_copy(rctx->buf + rctx->buf_cnt, req->src, in sahara_sha_prepare_request()
929 rctx->buf_cnt += req->nbytes; in sahara_sha_prepare_request()
935 if (rctx->buf_cnt) in sahara_sha_prepare_request()
936 memcpy(rctx->rembuf, rctx->buf, rctx->buf_cnt); in sahara_sha_prepare_request()
939 hash_later = rctx->last ? 0 : len & (block_size - 1); in sahara_sha_prepare_request()
943 scatterwalk_map_and_copy(rctx->buf, req->src, offset, in sahara_sha_prepare_request()
953 if (rctx->buf_cnt && req->nbytes) { in sahara_sha_prepare_request()
954 sg_init_table(rctx->in_sg_chain, 2); in sahara_sha_prepare_request()
955 sg_set_buf(rctx->in_sg_chain, rctx->rembuf, rctx->buf_cnt); in sahara_sha_prepare_request()
957 sg_chain(rctx->in_sg_chain, 2, req->src); in sahara_sha_prepare_request()
959 rctx->total = req->nbytes + rctx->buf_cnt; in sahara_sha_prepare_request()
960 rctx->in_sg = rctx->in_sg_chain; in sahara_sha_prepare_request()
962 req->src = rctx->in_sg_chain; in sahara_sha_prepare_request()
964 } else if (rctx->buf_cnt) { in sahara_sha_prepare_request()
966 rctx->in_sg = req->src; in sahara_sha_prepare_request()
968 rctx->in_sg = rctx->in_sg_chain; in sahara_sha_prepare_request()
970 sg_init_one(rctx->in_sg, rctx->rembuf, rctx->buf_cnt); in sahara_sha_prepare_request()
971 rctx->total = rctx->buf_cnt; in sahara_sha_prepare_request()
974 rctx->in_sg = req->src; in sahara_sha_prepare_request()
975 rctx->total = req->nbytes; in sahara_sha_prepare_request()
976 req->src = rctx->in_sg; in sahara_sha_prepare_request()
980 rctx->buf_cnt = hash_later; in sahara_sha_prepare_request()
988 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_process() local
996 if (rctx->first) { in sahara_sha_process()
997 sahara_sha_hw_data_descriptor_create(dev, rctx, req, 0); in sahara_sha_process()
999 rctx->first = 0; in sahara_sha_process()
1001 memcpy(dev->context_base, rctx->context, rctx->context_size); in sahara_sha_process()
1003 sahara_sha_hw_context_descriptor_create(dev, rctx, req, 0); in sahara_sha_process()
1005 sahara_sha_hw_data_descriptor_create(dev, rctx, req, 1); in sahara_sha_process()
1023 if (rctx->sg_in_idx) in sahara_sha_process()
1027 memcpy(rctx->context, dev->context_base, rctx->context_size); in sahara_sha_process()
1030 memcpy(req->result, rctx->context, rctx->digest_size); in sahara_sha_process()
1080 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_enqueue() local
1087 mutex_lock(&rctx->mutex); in sahara_sha_enqueue()
1088 rctx->last = last; in sahara_sha_enqueue()
1090 if (!rctx->active) { in sahara_sha_enqueue()
1091 rctx->active = 1; in sahara_sha_enqueue()
1092 rctx->first = 1; in sahara_sha_enqueue()
1100 mutex_unlock(&rctx->mutex); in sahara_sha_enqueue()
1108 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_init() local
1110 memset(rctx, 0, sizeof(*rctx)); in sahara_sha_init()
1114 rctx->mode |= SAHARA_HDR_MDHA_ALG_SHA1; in sahara_sha_init()
1115 rctx->digest_size = SHA1_DIGEST_SIZE; in sahara_sha_init()
1118 rctx->mode |= SAHARA_HDR_MDHA_ALG_SHA256; in sahara_sha_init()
1119 rctx->digest_size = SHA256_DIGEST_SIZE; in sahara_sha_init()
1125 rctx->context_size = rctx->digest_size + 4; in sahara_sha_init()
1126 rctx->active = 0; in sahara_sha_init()
1128 mutex_init(&rctx->mutex); in sahara_sha_init()
1160 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_export() local
1163 memcpy(out + sizeof(struct sahara_sha_reqctx), rctx, in sahara_sha_export()
1173 struct sahara_sha_reqctx *rctx = ahash_request_ctx(req); in sahara_sha_import() local
1176 memcpy(rctx, in + sizeof(struct sahara_sha_reqctx), in sahara_sha_import()