Lines Matching refs:rctx
75 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_init() local
79 memset(rctx, 0, sizeof(struct sun8i_ss_hash_reqctx)); in sun8i_ss_hash_init()
81 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm); in sun8i_ss_hash_init()
82 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_init()
84 return crypto_ahash_init(&rctx->fallback_req); in sun8i_ss_hash_init()
89 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_export() local
93 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm); in sun8i_ss_hash_export()
94 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_export()
96 return crypto_ahash_export(&rctx->fallback_req, out); in sun8i_ss_hash_export()
101 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_import() local
105 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm); in sun8i_ss_hash_import()
106 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_import()
108 return crypto_ahash_import(&rctx->fallback_req, in); in sun8i_ss_hash_import()
113 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_final() local
121 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm); in sun8i_ss_hash_final()
122 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_final()
124 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_final()
131 return crypto_ahash_final(&rctx->fallback_req); in sun8i_ss_hash_final()
136 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_update() local
140 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm); in sun8i_ss_hash_update()
141 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_update()
143 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_update()
144 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_update()
146 return crypto_ahash_update(&rctx->fallback_req); in sun8i_ss_hash_update()
151 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_finup() local
159 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm); in sun8i_ss_hash_finup()
160 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_finup()
163 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_finup()
164 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_finup()
165 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_finup()
171 return crypto_ahash_finup(&rctx->fallback_req); in sun8i_ss_hash_finup()
176 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_digest_fb() local
184 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm); in sun8i_ss_hash_digest_fb()
185 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_digest_fb()
188 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_digest_fb()
189 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_digest_fb()
190 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_digest_fb()
196 return crypto_ahash_digest(&rctx->fallback_req); in sun8i_ss_hash_digest_fb()
200 struct sun8i_ss_hash_reqctx *rctx, in sun8i_ss_run_hash_task() argument
203 int flow = rctx->flow; in sun8i_ss_run_hash_task()
217 v |= rctx->method; in sun8i_ss_run_hash_task()
220 if (!rctx->t_dst[i].addr) in sun8i_ss_run_hash_task()
226 writel(rctx->t_dst[i - 1].addr, ss->base + SS_KEY_ADR_REG); in sun8i_ss_run_hash_task()
227 writel(rctx->t_dst[i - 1].addr, ss->base + SS_IV_ADR_REG); in sun8i_ss_run_hash_task()
233 rctx->t_src[i].len, rctx->t_dst[i].len, in sun8i_ss_run_hash_task()
234 rctx->method, rctx->t_src[i].addr, rctx->t_dst[i].addr); in sun8i_ss_run_hash_task()
236 writel(rctx->t_src[i].addr, ss->base + SS_SRC_ADR_REG); in sun8i_ss_run_hash_task()
237 writel(rctx->t_dst[i].addr, ss->base + SS_DST_ADR_REG); in sun8i_ss_run_hash_task()
238 writel(rctx->t_src[i].len, ss->base + SS_LEN_ADR_REG); in sun8i_ss_run_hash_task()
286 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_digest() local
309 rctx->flow = e; in sun8i_ss_hash_digest()
323 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_run() local
344 result = ss->flows[rctx->flow].result; in sun8i_ss_hash_run()
345 pad = ss->flows[rctx->flow].pad; in sun8i_ss_hash_run()
350 rctx->t_dst[i].addr = 0; in sun8i_ss_hash_run()
351 rctx->t_dst[i].len = 0; in sun8i_ss_hash_run()
358 rctx->method = ss->variant->alg_hash[algt->ss_algo_id]; in sun8i_ss_hash_run()
382 rctx->t_src[i].addr = sg_dma_address(sg); in sun8i_ss_hash_run()
384 rctx->t_src[i].len = todo / 4; in sun8i_ss_hash_run()
386 rctx->t_dst[i].addr = addr_res; in sun8i_ss_hash_run()
387 rctx->t_dst[i].len = digestsize / 4; in sun8i_ss_hash_run()
425 rctx->t_src[i].addr = addr_pad; in sun8i_ss_hash_run()
426 rctx->t_src[i].len = j; in sun8i_ss_hash_run()
427 rctx->t_dst[i].addr = addr_res; in sun8i_ss_hash_run()
428 rctx->t_dst[i].len = digestsize / 4; in sun8i_ss_hash_run()
435 err = sun8i_ss_run_hash_task(ss, rctx, crypto_tfm_alg_name(areq->base.tfm)); in sun8i_ss_hash_run()