Lines Matching refs:el
373 static void sec_alg_free_el(struct sec_request_el *el, in sec_alg_free_el() argument
376 sec_free_hw_sgl(el->out, el->dma_out, info); in sec_alg_free_el()
377 sec_free_hw_sgl(el->in, el->dma_in, info); in sec_alg_free_el()
378 kfree(el->sgl_in); in sec_alg_free_el()
379 kfree(el->sgl_out); in sec_alg_free_el()
380 kfree(el); in sec_alg_free_el()
386 struct sec_request_el *el, *temp; in sec_send_request() local
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()
412 kfifo_put(&queue->softqueue, el); in sec_send_request()
636 struct sec_request_el *el; in sec_alg_alloc_and_fill_el() local
640 el = kzalloc(sizeof(*el), gfp); in sec_alg_alloc_and_fill_el()
641 if (!el) in sec_alg_alloc_and_fill_el()
643 el->el_length = el_size; in sec_alg_alloc_and_fill_el()
644 req = &el->req; in sec_alg_alloc_and_fill_el()
669 el->sgl_in = sgl_in; in sec_alg_alloc_and_fill_el()
671 ret = sec_alloc_and_fill_hw_sgl(&el->in, &el->dma_in, el->sgl_in, in sec_alg_alloc_and_fill_el()
676 req->data_addr_lo = lower_32_bits(el->dma_in); in sec_alg_alloc_and_fill_el()
677 req->data_addr_hi = upper_32_bits(el->dma_in); in sec_alg_alloc_and_fill_el()
680 el->sgl_out = sgl_out; in sec_alg_alloc_and_fill_el()
681 ret = sec_alloc_and_fill_hw_sgl(&el->out, &el->dma_out, in sec_alg_alloc_and_fill_el()
682 el->sgl_out, in sec_alg_alloc_and_fill_el()
688 req->cipher_destin_addr_lo = lower_32_bits(el->dma_out); in sec_alg_alloc_and_fill_el()
689 req->cipher_destin_addr_hi = upper_32_bits(el->dma_out); in sec_alg_alloc_and_fill_el()
693 req->cipher_destin_addr_lo = lower_32_bits(el->dma_in); in sec_alg_alloc_and_fill_el()
694 req->cipher_destin_addr_hi = upper_32_bits(el->dma_in); in sec_alg_alloc_and_fill_el()
697 return el; in sec_alg_alloc_and_fill_el()
700 sec_free_hw_sgl(el->in, el->dma_in, info); in sec_alg_alloc_and_fill_el()
702 kfree(el); in sec_alg_alloc_and_fill_el()
722 struct sec_request_el *el, *temp; in sec_alg_skcipher_crypto() local
773 el = sec_alg_alloc_and_fill_el(&ctx->req_template, in sec_alg_skcipher_crypto()
781 if (IS_ERR(el)) { in sec_alg_skcipher_crypto()
782 ret = PTR_ERR(el); 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()
840 list_for_each_entry_safe(el, temp, &sec_req->elements, head) { in sec_alg_skcipher_crypto()
841 list_del(&el->head); in sec_alg_skcipher_crypto()
842 sec_alg_free_el(el, info); in sec_alg_skcipher_crypto()