Lines Matching refs:sec_req

396 static int sec_send_request(struct sec_request *sec_req, struct sec_queue *queue)  in sec_send_request()  argument
401 mutex_lock(&sec_req->lock); in sec_send_request()
402 list_for_each_entry_safe(el, temp, &sec_req->elements, head) { in sec_send_request()
416 ret = sec_queue_send(queue, &el->req, sec_req); in sec_send_request()
428 mutex_unlock(&sec_req->lock); in sec_send_request()
439 struct sec_request *sec_req = skcipher_request_ctx(skreq); in sec_skcipher_alg_callback() local
442 struct sec_alg_tfm_ctx *ctx = sec_req->tfm_ctx; in sec_skcipher_alg_callback()
448 sec_req_el = list_first_entry(&sec_req->elements, struct sec_request_el, in sec_skcipher_alg_callback()
456 sec_req->err = -EINVAL; in sec_skcipher_alg_callback()
507 nextrequest->sec_req); in sec_skcipher_alg_callback()
526 mutex_lock(&sec_req->lock); in sec_skcipher_alg_callback()
528 mutex_unlock(&sec_req->lock); in sec_skcipher_alg_callback()
535 mutex_lock(&sec_req->lock); in sec_skcipher_alg_callback()
536 done = list_empty(&sec_req->elements); in sec_skcipher_alg_callback()
537 mutex_unlock(&sec_req->lock); in sec_skcipher_alg_callback()
540 dma_unmap_single(dev, sec_req->dma_iv, in sec_skcipher_alg_callback()
544 dma_unmap_sg(dev, skreq->src, sec_req->len_in, in sec_skcipher_alg_callback()
547 dma_unmap_sg(dev, skreq->dst, sec_req->len_out, in sec_skcipher_alg_callback()
549 skreq->base.complete(&skreq->base, sec_req->err); in sec_skcipher_alg_callback()
555 struct sec_request *sec_req = shadow; in sec_alg_callback() local
557 sec_req->cb(resp, sec_req->req_base); in sec_alg_callback()
726 struct sec_request *sec_req = skcipher_request_ctx(skreq); in sec_alg_skcipher_crypto() local
736 mutex_init(&sec_req->lock); in sec_alg_skcipher_crypto()
737 sec_req->req_base = &skreq->base; in sec_alg_skcipher_crypto()
738 sec_req->err = 0; in sec_alg_skcipher_crypto()
740 sec_req->len_in = sg_nents(skreq->src); in sec_alg_skcipher_crypto()
746 sec_req->num_elements = steps; in sec_alg_skcipher_crypto()
748 &splits_in_nents, sec_req->len_in, in sec_alg_skcipher_crypto()
754 sec_req->len_out = sg_nents(skreq->dst); in sec_alg_skcipher_crypto()
757 sec_req->len_out, info->dev); in sec_alg_skcipher_crypto()
762 sec_req->tfm_ctx = ctx; in sec_alg_skcipher_crypto()
763 sec_req->cb = sec_skcipher_alg_callback; in sec_alg_skcipher_crypto()
764 INIT_LIST_HEAD(&sec_req->elements); in sec_alg_skcipher_crypto()
772 sec_req->dma_iv = dma_map_single(info->dev, skreq->iv, in sec_alg_skcipher_crypto()
775 if (dma_mapping_error(info->dev, sec_req->dma_iv)) { in sec_alg_skcipher_crypto()
794 el->req.cipher_iv_addr_lo = lower_32_bits(sec_req->dma_iv); in sec_alg_skcipher_crypto()
795 el->req.cipher_iv_addr_hi = upper_32_bits(sec_req->dma_iv); in sec_alg_skcipher_crypto()
796 el->sec_req = sec_req; in sec_alg_skcipher_crypto()
797 list_add_tail(&el->head, &sec_req->elements); in sec_alg_skcipher_crypto()
831 list_add_tail(&sec_req->backlog_head, &ctx->backlog); in sec_alg_skcipher_crypto()
840 ret = sec_send_request(sec_req, queue); in sec_alg_skcipher_crypto()
848 list_for_each_entry_safe(el, temp, &sec_req->elements, head) { in sec_alg_skcipher_crypto()
853 dma_unmap_single(info->dev, sec_req->dma_iv, in sec_alg_skcipher_crypto()
859 splits_out_nents, sec_req->len_out, in sec_alg_skcipher_crypto()
863 sec_req->len_in, info->dev); in sec_alg_skcipher_crypto()