Lines Matching refs:req

33 	struct ahash_request *req = ahash_request_cast(async_req);
34 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req);
35 struct qce_sha_reqctx *rctx = ahash_request_ctx(req);
47 dma_unmap_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE);
51 if (req->result)
52 memcpy(req->result, result->auth_iv, digestsize);
61 req->src = rctx->src_orig;
62 req->nbytes = rctx->nbytes_orig;
71 struct ahash_request *req = ahash_request_cast(async_req);
72 struct qce_sha_reqctx *rctx = ahash_request_ctx(req);
87 rctx->src_nents = sg_nents_for_len(req->src, req->nbytes);
93 ret = dma_map_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE);
103 ret = qce_dma_prep_sgs(&qce->dma, req->src, rctx->src_nents,
121 dma_unmap_sg(qce->dev, req->src, rctx->src_nents, DMA_TO_DEVICE);
125 static int qce_ahash_init(struct ahash_request *req)
127 struct qce_sha_reqctx *rctx = ahash_request_ctx(req);
128 struct qce_alg_template *tmpl = to_ahash_tmpl(req->base.tfm);
140 static int qce_ahash_export(struct ahash_request *req, void *out)
142 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req);
143 struct qce_sha_reqctx *rctx = ahash_request_ctx(req);
170 static int qce_import_common(struct ahash_request *req, u64 in_count,
173 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req);
174 struct qce_sha_reqctx *rctx = ahash_request_ctx(req);
205 static int qce_ahash_import(struct ahash_request *req, const void *in)
212 ret = qce_ahash_init(req);
216 rctx = ahash_request_ctx(req);
223 ret = qce_import_common(req, state->count, state->state,
228 ret = qce_import_common(req, state->count, state->state,
235 static int qce_ahash_update(struct ahash_request *req)
237 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
238 struct qce_sha_reqctx *rctx = ahash_request_ctx(req);
239 struct qce_alg_template *tmpl = to_ahash_tmpl(req->base.tfm);
248 rctx->count += req->nbytes;
251 total = req->nbytes + rctx->buflen;
254 scatterwalk_map_and_copy(rctx->buf + rctx->buflen, req->src,
255 0, req->nbytes, 0);
256 rctx->buflen += req->nbytes;
260 /* save the original req structure fields */
261 rctx->src_orig = req->src;
262 rctx->nbytes_orig = req->nbytes;
274 unsigned int src_offset = req->nbytes - hash_later;
275 scatterwalk_map_and_copy(rctx->buf, req->src, src_offset,
283 sg = sg_last = req->src;
299 sg_chain(rctx->sg, 2, req->src);
300 req->src = rctx->sg;
303 req->nbytes = nbytes;
306 return qce->async_req_enqueue(tmpl->qce, &req->base);
309 static int qce_ahash_final(struct ahash_request *req)
311 struct qce_sha_reqctx *rctx = ahash_request_ctx(req);
312 struct qce_alg_template *tmpl = to_ahash_tmpl(req->base.tfm);
317 memcpy(req->result, tmpl->hash_zero,
324 rctx->src_orig = req->src;
325 rctx->nbytes_orig = req->nbytes;
330 req->src = rctx->sg;
331 req->nbytes = rctx->buflen;
333 return qce->async_req_enqueue(tmpl->qce, &req->base);
336 static int qce_ahash_digest(struct ahash_request *req)
338 struct qce_sha_reqctx *rctx = ahash_request_ctx(req);
339 struct qce_alg_template *tmpl = to_ahash_tmpl(req->base.tfm);
343 ret = qce_ahash_init(req);
347 rctx->src_orig = req->src;
348 rctx->nbytes_orig = req->nbytes;
354 memcpy(req->result, tmpl->hash_zero,
359 return qce->async_req_enqueue(tmpl->qce, &req->base);
368 struct ahash_request *req;
395 req = ahash_request_alloc(ahash_tfm, GFP_KERNEL);
396 if (!req) {
402 ahash_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG,
414 ahash_request_set_crypt(req, &sg, ctx->authkey, keylen);
416 ret = crypto_wait_req(crypto_ahash_digest(req), &wait);
420 ahash_request_free(req);