Lines Matching refs:areq

161 int sun8i_ss_hash_init(struct ahash_request *areq)  in sun8i_ss_hash_init()  argument
163 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_init()
164 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_init()
170 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_init()
175 int sun8i_ss_hash_export(struct ahash_request *areq, void *out) in sun8i_ss_hash_export() argument
177 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_export()
178 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_export()
182 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_export()
187 int sun8i_ss_hash_import(struct ahash_request *areq, const void *in) in sun8i_ss_hash_import() argument
189 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_import()
190 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_import()
194 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_import()
199 int sun8i_ss_hash_final(struct ahash_request *areq) in sun8i_ss_hash_final() argument
201 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_final()
202 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_final()
206 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_final()
208 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_final()
225 int sun8i_ss_hash_update(struct ahash_request *areq) in sun8i_ss_hash_update() argument
227 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_update()
228 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_update()
232 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_update()
234 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_update()
235 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_update()
240 int sun8i_ss_hash_finup(struct ahash_request *areq) in sun8i_ss_hash_finup() argument
242 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_finup()
243 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_finup()
247 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_finup()
250 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_finup()
251 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_finup()
252 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_finup()
269 static int sun8i_ss_hash_digest_fb(struct ahash_request *areq) in sun8i_ss_hash_digest_fb() argument
271 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_digest_fb()
272 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_digest_fb()
276 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_digest_fb()
279 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_digest_fb()
280 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_digest_fb()
281 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_digest_fb()
357 static bool sun8i_ss_hash_need_fallback(struct ahash_request *areq) in sun8i_ss_hash_need_fallback() argument
359 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_need_fallback()
366 if (areq->nbytes == 0) { in sun8i_ss_hash_need_fallback()
371 if (areq->nbytes >= MAX_PAD_SIZE - 64) { in sun8i_ss_hash_need_fallback()
377 if (sg_nents(areq->src) > MAX_SG - 1) { in sun8i_ss_hash_need_fallback()
382 sg = areq->src; in sun8i_ss_hash_need_fallback()
406 int sun8i_ss_hash_digest(struct ahash_request *areq) in sun8i_ss_hash_digest() argument
408 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_digest()
409 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_digest()
416 if (sun8i_ss_hash_need_fallback(areq)) in sun8i_ss_hash_digest()
417 return sun8i_ss_hash_digest_fb(areq); in sun8i_ss_hash_digest()
426 return crypto_transfer_hash_request_to_engine(engine, areq); in sun8i_ss_hash_digest()
492 struct ahash_request *areq = container_of(breq, struct ahash_request, base); in sun8i_ss_hash_run() local
493 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_run()
495 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_run()
537 nr_sgs = dma_map_sg(ss->dev, areq->src, sg_nents(areq->src), DMA_TO_DEVICE); in sun8i_ss_hash_run()
552 len = areq->nbytes; in sun8i_ss_hash_run()
553 sg = areq->src; in sun8i_ss_hash_run()
586 byte_count = areq->nbytes; in sun8i_ss_hash_run()
607 byte_count = areq->nbytes + bs; in sun8i_ss_hash_run()
667 err = sun8i_ss_run_hash_task(ss, rctx, crypto_tfm_alg_name(areq->base.tfm)); in sun8i_ss_hash_run()
703 dma_unmap_sg(ss->dev, areq->src, sg_nents(areq->src), in sun8i_ss_hash_run()
711 memcpy(areq->result, result, crypto_ahash_digestsize(tfm)); in sun8i_ss_hash_run()