Lines Matching refs:rctx
163 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
167 memset(rctx, 0, sizeof(struct sun8i_ss_hash_reqctx));
169 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
170 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
172 return crypto_ahash_init(&rctx->fallback_req);
177 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
181 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
182 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
184 return crypto_ahash_export(&rctx->fallback_req, out);
189 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
193 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
194 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
196 return crypto_ahash_import(&rctx->fallback_req, in);
201 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
205 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
206 rctx->fallback_req.base.flags = areq->base.flags &
208 rctx->fallback_req.result = areq->result;
222 return crypto_ahash_final(&rctx->fallback_req);
227 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
231 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
232 rctx->fallback_req.base.flags = areq->base.flags &
234 rctx->fallback_req.nbytes = areq->nbytes;
235 rctx->fallback_req.src = areq->src;
237 return crypto_ahash_update(&rctx->fallback_req);
242 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
246 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
247 rctx->fallback_req.base.flags = areq->base.flags &
250 rctx->fallback_req.nbytes = areq->nbytes;
251 rctx->fallback_req.src = areq->src;
252 rctx->fallback_req.result = areq->result;
266 return crypto_ahash_finup(&rctx->fallback_req);
271 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
275 ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm);
276 rctx->fallback_req.base.flags = areq->base.flags &
279 rctx->fallback_req.nbytes = areq->nbytes;
280 rctx->fallback_req.src = areq->src;
281 rctx->fallback_req.result = areq->result;
295 return crypto_ahash_digest(&rctx->fallback_req);
299 struct sun8i_ss_hash_reqctx *rctx,
302 int flow = rctx->flow;
316 v |= rctx->method;
319 if (!rctx->t_dst[i].addr)
325 writel(rctx->t_dst[i - 1].addr, ss->base + SS_KEY_ADR_REG);
326 writel(rctx->t_dst[i - 1].addr, ss->base + SS_IV_ADR_REG);
332 rctx->t_src[i].len, rctx->t_dst[i].len,
333 rctx->method, rctx->t_src[i].addr, rctx->t_dst[i].addr);
335 writel(rctx->t_src[i].addr, ss->base + SS_SRC_ADR_REG);
336 writel(rctx->t_dst[i].addr, ss->base + SS_DST_ADR_REG);
337 writel(rctx->t_src[i].len, ss->base + SS_LEN_ADR_REG);
409 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
423 rctx->flow = e;
495 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq);
522 result = ss->flows[rctx->flow].result;
523 pad = ss->flows[rctx->flow].pad;
527 rctx->t_dst[i].addr = 0;
528 rctx->t_dst[i].len = 0;
535 rctx->method = ss->variant->alg_hash[algt->ss_algo_id];
563 rctx->t_src[i].addr = sg_dma_address(sg);
564 rctx->t_src[i].len = todo / 4;
565 rctx->t_dst[i].addr = addr_res;
566 rctx->t_dst[i].len = digestsize / 4;
591 rctx->t_src[k + 1].addr = rctx->t_src[k].addr;
592 rctx->t_src[k + 1].len = rctx->t_src[k].len;
593 rctx->t_dst[k + 1].addr = rctx->t_dst[k].addr;
594 rctx->t_dst[k + 1].len = rctx->t_dst[k].len;
602 rctx->t_src[0].addr = addr_xpad;
603 rctx->t_src[0].len = bs / 4;
604 rctx->t_dst[0].addr = addr_res;
605 rctx->t_dst[0].len = digestsize / 4;
611 rctx->t_src[i].addr = 0;
612 rctx->t_src[i].len = 0;
613 rctx->t_dst[i].addr = 0;
614 rctx->t_dst[i].len = 0;
629 rctx->t_src[0].addr = addr_xpad;
630 rctx->t_src[0].len = bs / 4;
637 rctx->t_dst[0].addr = addr_res;
638 rctx->t_dst[0].len = digestsize / 4;
662 rctx->t_src[i].addr = addr_pad;
663 rctx->t_src[i].len = j;
664 rctx->t_dst[i].addr = addr_res;
665 rctx->t_dst[i].len = digestsize / 4;
667 err = sun8i_ss_run_hash_task(ss, rctx, crypto_tfm_alg_name(areq->base.tfm));