Lines Matching refs:areq

144 int sun8i_ss_hash_init(struct ahash_request *areq)  in sun8i_ss_hash_init()  argument
146 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_init()
147 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_init()
153 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_init()
158 int sun8i_ss_hash_export(struct ahash_request *areq, void *out) in sun8i_ss_hash_export() argument
160 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_export()
161 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_export()
165 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_export()
170 int sun8i_ss_hash_import(struct ahash_request *areq, const void *in) in sun8i_ss_hash_import() argument
172 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_import()
173 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_import()
177 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_import()
182 int sun8i_ss_hash_final(struct ahash_request *areq) in sun8i_ss_hash_final() argument
184 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_final()
185 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_final()
189 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_final()
191 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_final()
208 int sun8i_ss_hash_update(struct ahash_request *areq) in sun8i_ss_hash_update() argument
210 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_update()
211 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_update()
215 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_update()
217 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_update()
218 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_update()
223 int sun8i_ss_hash_finup(struct ahash_request *areq) in sun8i_ss_hash_finup() argument
225 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_finup()
226 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_finup()
230 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_finup()
233 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_finup()
234 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_finup()
235 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_finup()
252 static int sun8i_ss_hash_digest_fb(struct ahash_request *areq) in sun8i_ss_hash_digest_fb() argument
254 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_digest_fb()
255 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_digest_fb()
259 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_digest_fb()
262 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_digest_fb()
263 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_digest_fb()
264 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_digest_fb()
340 static bool sun8i_ss_hash_need_fallback(struct ahash_request *areq) in sun8i_ss_hash_need_fallback() argument
342 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_need_fallback()
349 if (areq->nbytes == 0) { in sun8i_ss_hash_need_fallback()
354 if (areq->nbytes >= MAX_PAD_SIZE - 64) { in sun8i_ss_hash_need_fallback()
360 if (sg_nents(areq->src) > MAX_SG - 1) { in sun8i_ss_hash_need_fallback()
365 sg = areq->src; in sun8i_ss_hash_need_fallback()
389 int sun8i_ss_hash_digest(struct ahash_request *areq) in sun8i_ss_hash_digest() argument
391 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_digest()
392 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_digest()
399 if (sun8i_ss_hash_need_fallback(areq)) in sun8i_ss_hash_digest()
400 return sun8i_ss_hash_digest_fb(areq); in sun8i_ss_hash_digest()
409 return crypto_transfer_hash_request_to_engine(engine, areq); in sun8i_ss_hash_digest()
475 struct ahash_request *areq = container_of(breq, struct ahash_request, base); in sun8i_ss_hash_run() local
476 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_run()
478 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_run()
520 nr_sgs = dma_map_sg(ss->dev, areq->src, sg_nents(areq->src), DMA_TO_DEVICE); in sun8i_ss_hash_run()
535 len = areq->nbytes; in sun8i_ss_hash_run()
536 sg = areq->src; in sun8i_ss_hash_run()
569 byte_count = areq->nbytes; in sun8i_ss_hash_run()
590 byte_count = areq->nbytes + bs; in sun8i_ss_hash_run()
650 err = sun8i_ss_run_hash_task(ss, rctx, crypto_tfm_alg_name(areq->base.tfm)); in sun8i_ss_hash_run()
686 dma_unmap_sg(ss->dev, areq->src, sg_nents(areq->src), in sun8i_ss_hash_run()
694 memcpy(areq->result, result, crypto_ahash_digestsize(tfm)); in sun8i_ss_hash_run()