Lines Matching refs:req
285 struct ahash_request *req = (struct ahash_request *)cc_req;
286 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
287 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
290 dev_dbg(dev, "req=%pK\n", req);
294 cc_unmap_hash_request(dev, state, req->src, false);
298 ahash_request_complete(req, err);
303 struct ahash_request *req = (struct ahash_request *)cc_req;
304 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
305 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
309 dev_dbg(dev, "req=%pK\n", req);
313 cc_unmap_hash_request(dev, state, req->src, false);
314 cc_unmap_result(dev, state, digestsize, req->result);
318 ahash_request_complete(req, err);
323 struct ahash_request *req = (struct ahash_request *)cc_req;
324 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
325 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
329 dev_dbg(dev, "req=%pK\n", req);
333 cc_unmap_hash_request(dev, state, req->src, false);
334 cc_unmap_result(dev, state, digestsize, req->result);
338 ahash_request_complete(req, err);
341 static int cc_fin_result(struct cc_hw_desc *desc, struct ahash_request *req,
344 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
345 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
364 static int cc_fin_hmac(struct cc_hw_desc *desc, struct ahash_request *req,
367 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
368 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
418 static int cc_hash_digest(struct ahash_request *req)
420 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
421 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
424 struct scatterlist *src = req->src;
425 unsigned int nbytes = req->nbytes;
426 u8 *result = req->result;
434 gfp_t flags = cc_gfp_flags(&req->base);
462 cc_req.user_arg = req;
514 idx = cc_fin_hmac(desc, req, idx);
517 idx = cc_fin_result(desc, req, idx);
519 rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
556 static int cc_hash_update(struct ahash_request *req)
558 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
559 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
562 struct scatterlist *src = req->src;
563 unsigned int nbytes = req->nbytes;
569 gfp_t flags = cc_gfp_flags(&req->base);
600 cc_req.user_arg = req;
623 rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
632 static int cc_do_finup(struct ahash_request *req, bool update)
634 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
635 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
638 struct scatterlist *src = req->src;
639 unsigned int nbytes = req->nbytes;
640 u8 *result = req->result;
647 gfp_t flags = cc_gfp_flags(&req->base);
672 cc_req.user_arg = req;
687 idx = cc_fin_hmac(desc, req, idx);
689 idx = cc_fin_result(desc, req, idx);
691 rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
701 static int cc_hash_finup(struct ahash_request *req)
703 return cc_do_finup(req, true);
707 static int cc_hash_final(struct ahash_request *req)
709 return cc_do_finup(req, false);
712 static int cc_hash_init(struct ahash_request *req)
714 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
715 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
719 dev_dbg(dev, "===== init (%d) ====\n", req->nbytes);
1150 static int cc_mac_update(struct ahash_request *req)
1152 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
1153 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
1161 gfp_t flags = cc_gfp_flags(&req->base);
1163 if (req->nbytes == 0) {
1170 rc = cc_map_hash_request_update(ctx->drvdata, state, req->src,
1171 req->nbytes, block_size, flags);
1175 req->nbytes);
1189 cc_setup_xcbc(req, desc, &idx);
1191 cc_setup_cmac(req, desc, &idx);
1207 cc_req.user_arg = req;
1209 rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
1212 cc_unmap_hash_request(dev, state, req->src, true);
1218 static int cc_mac_final(struct ahash_request *req)
1220 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
1221 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
1230 gfp_t flags = cc_gfp_flags(&req->base);
1249 if (cc_map_hash_request_final(ctx->drvdata, state, req->src,
1250 req->nbytes, 0, flags)) {
1258 cc_unmap_hash_request(dev, state, req->src, true);
1265 cc_req.user_arg = req;
1299 cc_setup_xcbc(req, desc, &idx);
1301 cc_setup_cmac(req, desc, &idx);
1329 rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
1332 cc_unmap_hash_request(dev, state, req->src, true);
1333 cc_unmap_result(dev, state, digestsize, req->result);
1339 static int cc_mac_finup(struct ahash_request *req)
1341 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
1342 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
1351 gfp_t flags = cc_gfp_flags(&req->base);
1353 dev_dbg(dev, "===== finup xcbc(%d) ====\n", req->nbytes);
1354 if (state->xcbc_count > 0 && req->nbytes == 0) {
1356 return cc_mac_final(req);
1364 if (cc_map_hash_request_final(ctx->drvdata, state, req->src,
1365 req->nbytes, 1, flags)) {
1372 cc_unmap_hash_request(dev, state, req->src, true);
1379 cc_req.user_arg = req;
1383 cc_setup_xcbc(req, desc, &idx);
1386 cc_setup_cmac(req, desc, &idx);
1389 if (req->nbytes == 0) {
1410 rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
1413 cc_unmap_hash_request(dev, state, req->src, true);
1414 cc_unmap_result(dev, state, digestsize, req->result);
1420 static int cc_mac_digest(struct ahash_request *req)
1422 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
1423 struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
1432 gfp_t flags = cc_gfp_flags(&req->base);
1434 dev_dbg(dev, "===== -digest mac (%d) ====\n", req->nbytes);
1448 if (cc_map_hash_request_final(ctx->drvdata, state, req->src,
1449 req->nbytes, 1, flags)) {
1457 cc_req.user_arg = req;
1461 cc_setup_xcbc(req, desc, &idx);
1464 cc_setup_cmac(req, desc, &idx);
1467 if (req->nbytes == 0) {
1489 rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
1492 cc_unmap_hash_request(dev, state, req->src, true);
1493 cc_unmap_result(dev, state, digestsize, req->result);
1499 static int cc_hash_export(struct ahash_request *req, void *out)
1501 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req);
1503 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);
1525 static int cc_hash_import(struct ahash_request *req, const void *in)
1527 struct crypto_ahash *ahash = crypto_ahash_reqtfm(req);
1530 struct ahash_req_ctx *state = ahash_request_ctx_dma(req);