Lines Matching refs:sec_req

384 static int sec_send_request(struct sec_request *sec_req, struct sec_queue *queue)  in sec_send_request()  argument
389 mutex_lock(&sec_req->lock); in sec_send_request()
390 list_for_each_entry_safe(el, temp, &sec_req->elements, head) { in sec_send_request()
404 ret = sec_queue_send(queue, &el->req, sec_req); in sec_send_request()
416 mutex_unlock(&sec_req->lock); in sec_send_request()
427 struct sec_request *sec_req = skcipher_request_ctx(skreq); in sec_skcipher_alg_callback() local
430 struct sec_alg_tfm_ctx *ctx = sec_req->tfm_ctx; in sec_skcipher_alg_callback()
436 sec_req_el = list_first_entry(&sec_req->elements, struct sec_request_el, in sec_skcipher_alg_callback()
444 sec_req->err = -EINVAL; in sec_skcipher_alg_callback()
495 nextrequest->sec_req); in sec_skcipher_alg_callback()
514 mutex_lock(&sec_req->lock); in sec_skcipher_alg_callback()
516 mutex_unlock(&sec_req->lock); in sec_skcipher_alg_callback()
523 mutex_lock(&sec_req->lock); in sec_skcipher_alg_callback()
524 done = list_empty(&sec_req->elements); in sec_skcipher_alg_callback()
525 mutex_unlock(&sec_req->lock); in sec_skcipher_alg_callback()
528 dma_unmap_single(dev, sec_req->dma_iv, in sec_skcipher_alg_callback()
532 dma_unmap_sg(dev, skreq->src, sec_req->len_in, in sec_skcipher_alg_callback()
535 dma_unmap_sg(dev, skreq->dst, sec_req->len_out, in sec_skcipher_alg_callback()
537 skcipher_request_complete(skreq, sec_req->err); in sec_skcipher_alg_callback()
543 struct sec_request *sec_req = shadow; in sec_alg_callback() local
545 sec_req->cb(resp, sec_req->req_base); in sec_alg_callback()
714 struct sec_request *sec_req = skcipher_request_ctx(skreq); in sec_alg_skcipher_crypto() local
726 mutex_init(&sec_req->lock); in sec_alg_skcipher_crypto()
727 sec_req->req_base = &skreq->base; in sec_alg_skcipher_crypto()
728 sec_req->err = 0; in sec_alg_skcipher_crypto()
730 sec_req->len_in = sg_nents(skreq->src); in sec_alg_skcipher_crypto()
736 sec_req->num_elements = steps; in sec_alg_skcipher_crypto()
738 &splits_in_nents, sec_req->len_in, in sec_alg_skcipher_crypto()
744 sec_req->len_out = sg_nents(skreq->dst); in sec_alg_skcipher_crypto()
747 sec_req->len_out, info->dev, gfp); in sec_alg_skcipher_crypto()
752 sec_req->tfm_ctx = ctx; in sec_alg_skcipher_crypto()
753 sec_req->cb = sec_skcipher_alg_callback; in sec_alg_skcipher_crypto()
754 INIT_LIST_HEAD(&sec_req->elements); in sec_alg_skcipher_crypto()
762 sec_req->dma_iv = dma_map_single(info->dev, skreq->iv, in sec_alg_skcipher_crypto()
765 if (dma_mapping_error(info->dev, sec_req->dma_iv)) { in sec_alg_skcipher_crypto()
785 el->req.cipher_iv_addr_lo = lower_32_bits(sec_req->dma_iv); in sec_alg_skcipher_crypto()
786 el->req.cipher_iv_addr_hi = upper_32_bits(sec_req->dma_iv); in sec_alg_skcipher_crypto()
787 el->sec_req = sec_req; in sec_alg_skcipher_crypto()
788 list_add_tail(&el->head, &sec_req->elements); in sec_alg_skcipher_crypto()
816 list_add_tail(&sec_req->backlog_head, &ctx->backlog); in sec_alg_skcipher_crypto()
824 ret = sec_send_request(sec_req, queue); in sec_alg_skcipher_crypto()
840 list_for_each_entry_safe(el, temp, &sec_req->elements, head) { in sec_alg_skcipher_crypto()
845 dma_unmap_single(info->dev, sec_req->dma_iv, in sec_alg_skcipher_crypto()
851 splits_out_nents, sec_req->len_out, in sec_alg_skcipher_crypto()
855 sec_req->len_in, info->dev); in sec_alg_skcipher_crypto()