Re: [PATCH v8 07/14] dmaengine: idxd: add callback support for iaa crypto

From: Vinod Koul
Date: Thu Aug 03 2023 - 09:20:01 EST


On 31-07-23, 16:29, Tom Zanussi wrote:
> Create a lightweight callback interface to allow idxd sub-drivers to
> be notified when work sent to idxd wqs has completed.
>
> For a sub-driver to be notified of work completion, it needs to:
>
> - Set the descriptor's 'Request Completion Interrupt'
> (IDXD_OP_FLAG_RCI)
>
> - Set the sub-driver desc_complete() callback when registering the
> sub-driver e.g.:
>
> struct idxd_device_driver my_drv = {
> .probe = my_probe,
> .desc_complete = my_complete,
> }
>
> - Set the sub-driver-specific context in the sub-driver's descriptor
> e.g:
>
> idxd_desc->crypto.req = req;
> idxd_desc->crypto.tfm = tfm;
> idxd_desc->crypto.src_addr = src_addr;
> idxd_desc->crypto.dst_addr = dst_addr;
>
> When the work completes and the completion irq fires, idxd will invoke
> the desc_complete() callback with pointers to the descriptor, context,
> and completion_type.

Acked-by: Vinod Koul <vkoul@xxxxxxxxxx>

--
~Vinod