diff options
author | Tom Zanussi <tom.zanussi@linux.intel.com> | 2023-12-05 15:25:22 -0600 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2023-12-15 17:52:53 +0800 |
commit | aa8d18becc0c14aa3eb46d6d1b81450446e11b87 (patch) | |
tree | 6d1151732bff0c0174e27a1d209d3dbeb002daad /drivers/crypto/intel/iaa/iaa_crypto_main.c | |
parent | 786d0e7f183ac1c1aef1801c2110f7582f0a6a83 (diff) | |
download | linux-aa8d18becc0c14aa3eb46d6d1b81450446e11b87.tar.gz linux-aa8d18becc0c14aa3eb46d6d1b81450446e11b87.tar.bz2 linux-aa8d18becc0c14aa3eb46d6d1b81450446e11b87.zip |
dmaengine: idxd: add callback support for iaa crypto
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.
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Reviewed-by: Fenghua Yu <fenghua.yu@intel.com>
Acked-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/intel/iaa/iaa_crypto_main.c')
0 files changed, 0 insertions, 0 deletions