Lines Matching refs:areq

164 int sun8i_ss_hash_init(struct ahash_request *areq)  in sun8i_ss_hash_init()  argument
166 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_init()
167 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_init()
173 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_init()
178 int sun8i_ss_hash_export(struct ahash_request *areq, void *out) in sun8i_ss_hash_export() argument
180 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_export()
181 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_export()
185 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_export()
190 int sun8i_ss_hash_import(struct ahash_request *areq, const void *in) in sun8i_ss_hash_import() argument
192 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_import()
193 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_import()
197 rctx->fallback_req.base.flags = areq->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP; in sun8i_ss_hash_import()
202 int sun8i_ss_hash_final(struct ahash_request *areq) in sun8i_ss_hash_final() argument
204 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_final()
205 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_final()
213 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_final()
215 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()
251 rctx->fallback_req.base.flags = areq->base.flags & in sun8i_ss_hash_finup()
254 rctx->fallback_req.nbytes = areq->nbytes; in sun8i_ss_hash_finup()
255 rctx->fallback_req.src = areq->src; in sun8i_ss_hash_finup()
256 rctx->fallback_req.result = areq->result; in sun8i_ss_hash_finup()
265 static int sun8i_ss_hash_digest_fb(struct ahash_request *areq) in sun8i_ss_hash_digest_fb() argument
267 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_digest_fb()
268 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()
349 static bool sun8i_ss_hash_need_fallback(struct ahash_request *areq) in sun8i_ss_hash_need_fallback() argument
351 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_need_fallback()
358 if (areq->nbytes == 0) { in sun8i_ss_hash_need_fallback()
363 if (areq->nbytes >= MAX_PAD_SIZE - 64) { in sun8i_ss_hash_need_fallback()
369 if (sg_nents(areq->src) > MAX_SG - 1) { in sun8i_ss_hash_need_fallback()
374 sg = areq->src; in sun8i_ss_hash_need_fallback()
398 int sun8i_ss_hash_digest(struct ahash_request *areq) in sun8i_ss_hash_digest() argument
400 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_digest()
402 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_digest()
408 if (sun8i_ss_hash_need_fallback(areq)) in sun8i_ss_hash_digest()
409 return sun8i_ss_hash_digest_fb(areq); in sun8i_ss_hash_digest()
418 return crypto_transfer_hash_request_to_engine(engine, areq); in sun8i_ss_hash_digest()
484 struct ahash_request *areq = container_of(breq, struct ahash_request, base); in sun8i_ss_hash_run() local
485 struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); in sun8i_ss_hash_run()
488 struct sun8i_ss_hash_reqctx *rctx = ahash_request_ctx(areq); in sun8i_ss_hash_run()
529 nr_sgs = dma_map_sg(ss->dev, areq->src, sg_nents(areq->src), DMA_TO_DEVICE); in sun8i_ss_hash_run()
544 len = areq->nbytes; in sun8i_ss_hash_run()
545 sg = areq->src; in sun8i_ss_hash_run()
578 byte_count = areq->nbytes; in sun8i_ss_hash_run()
599 byte_count = areq->nbytes + bs; in sun8i_ss_hash_run()
659 err = sun8i_ss_run_hash_task(ss, rctx, crypto_tfm_alg_name(areq->base.tfm)); in sun8i_ss_hash_run()
695 dma_unmap_sg(ss->dev, areq->src, sg_nents(areq->src), in sun8i_ss_hash_run()
703 memcpy(areq->result, result, algt->alg.hash.halg.digestsize); in sun8i_ss_hash_run()