crypto: use dmaengine_desc_set_callback()
Subsystems (8)
PATCH 1/1 crypto: use dmaengine_desc_set_callback()
From: Frank Li <[email protected]>
Replace open-coded assignments to callback and callback_param fields of struct dma_async_tx_descriptor with calls to the dmaengine_desc_set_callback() helper across various crypto drivers.
No functional change intended. Prepare make to struct dma_async_tx_descriptor private to the DMA engine.
--- drivers/crypto/atmel-aes.c | 3 +-- drivers/crypto/atmel-sha.c | 6 ++---- drivers/crypto/atmel-tdes.c | 3 +-- drivers/crypto/img-hash.c | 3 +-- drivers/crypto/omap-aes.c | 8 +++----- drivers/crypto/omap-des.c | 5 ++--- drivers/crypto/omap-sham.c | 3 +-- drivers/crypto/qce/dma.c | 3 +-- drivers/crypto/sa2ul.c | 3 +-- drivers/crypto/starfive/jh7110-aes.c | 3 +-- drivers/crypto/starfive/jh7110-hash.c | 3 +-- drivers/crypto/stm32/stm32-cryp.c | 9 +++------ drivers/crypto/stm32/stm32-hash.c | 3 +-- drivers/crypto/ti/dthev2-aes.c | 9 +++------ 14 files changed, 22 insertions(+), 42 deletions(-)
drivers/crypto/atmel-aes.c +1 -2
@@ -824,8 +824,7 @@ static int atmel_aes_dma_transfer_start(struct atmel_aes_dev *dd,if (!desc)return -ENOMEM ; - desc->callback = callback; - desc->callback_param = dd; +dmaengine_desc_set_callback (desc, callback,NULL , dd);dmaengine_submit (desc);dma_async_issue_pending (dma->chan);
drivers/crypto/atmel-sha.c +2 -4
@@ -662,8 +662,7 @@ static int atmel_sha_xmit_dma(struct atmel_sha_dev *dd, dma_addr_t dma_addr1,if (!in_desc)return atmel_sha_complete (dd, -EINVAL ); - in_desc->callback = atmel_sha_dma_callback; - in_desc->callback_param = dd; +dmaengine_desc_set_callback (in_desc, atmel_sha_dma_callback,NULL , dd);atmel_sha_write_ctrl (dd,1 );
@@ -1472,8 +1471,7 @@ static int atmel_sha_dma_start(struct atmel_sha_dev *dd, goto unmap_sg; } - desc->callback = atmel_sha_dma_callback2; - desc->callback_param = dd; +dmaengine_desc_set_callback (desc, atmel_sha_dma_callback2,NULL , dd); cookie =dmaengine_submit (desc); err =dma_submit_error (cookie);if (err)
drivers/crypto/atmel-tdes.c +1 -2
@@ -401,8 +401,7 @@ static int atmel_tdes_crypt_dma(struct atmel_tdes_dev *dd,if (!out_desc)return -EINVAL ; - out_desc->callback = atmel_tdes_dma_callback; - out_desc->callback_param = dd; +dmaengine_desc_set_callback (out_desc, atmel_tdes_dma_callback,NULL , dd);dmaengine_submit (out_desc);dma_async_issue_pending (dd->dma_lch_out.chan);
drivers/crypto/img-hash.c +1 -2
@@ -242,8 +242,7 @@ static int img_hash_xmit_dma(struct img_hash_dev *hdev, struct scatterlist *sg)dma_unmap_sg (hdev->dev, sg,1 ,DMA_TO_DEVICE );return -EINVAL ; } - desc->callback = img_hash_dma_callback; - desc->callback_param = hdev; +dmaengine_desc_set_callback (desc, img_hash_dma_callback,NULL , hdev);dmaengine_submit (desc);dma_async_issue_pending (hdev->dma_lch);
drivers/crypto/omap-aes.c +3 -5
@@ -310,8 +310,7 @@ static int omap_aes_crypt_dma(struct omap_aes_dev *dd, }/* No callback necessary */ - tx_in->callback_param = dd; - tx_in->callback =NULL ; +dmaengine_desc_set_callback (tx_in,NULL ,NULL , dd);/* OUT */ if (out_sg_len) {
@@ -337,10 +336,9 @@ static int omap_aes_crypt_dma(struct omap_aes_dev *dd, }if (dd->flags &FLAGS_GCM ) - cb_desc->callback = omap_aes_gcm_dma_out_callback; +dmaengine_desc_set_callback (cb_desc, omap_aes_gcm_dma_out_callback,NULL , dd);else - cb_desc->callback = omap_aes_dma_out_callback; - cb_desc->callback_param = dd; +dmaengine_desc_set_callback (cb_desc, omap_aes_dma_out_callback,NULL , dd);dmaengine_submit (tx_in);
drivers/crypto/omap-des.c +2 -3
@@ -414,7 +414,7 @@ static int omap_des_crypt_dma(struct crypto_tfm *tfm, }/* No callback necessary */ - tx_in->callback_param = dd; +dmaengine_desc_set_callback (tx_in,NULL ,NULL , dd);/* OUT */ ret =dmaengine_slave_config (dd->dma_lch_out, &cfg);
@@ -432,8 +432,7 @@ static int omap_des_crypt_dma(struct crypto_tfm *tfm,return -EINVAL ; } - tx_out->callback = omap_des_dma_out_callback; - tx_out->callback_param = dd; +dmaengine_desc_set_callback (tx_out, omap_des_dma_out_callback,NULL , dd);dmaengine_submit (tx_in);dmaengine_submit (tx_out);
drivers/crypto/omap-sham.c +1 -2
@@ -600,8 +600,7 @@ static int omap_sham_xmit_dma(struct omap_sham_dev *dd, size_t length,return -EINVAL ; } - tx->callback = omap_sham_dma_callback; - tx->callback_param = dd; +dmaengine_desc_set_callback (tx, omap_sham_dma_callback,NULL , dd); dd->pdata->write_ctrl (dd, length, final,1 );
drivers/crypto/qce/dma.c +1 -2
@@ -95,8 +95,7 @@ static int qce_dma_prep_sg(struct dma_chan *chan, struct scatterlist *sg,if (!desc)return -EINVAL ; - desc->callback = cb; - desc->callback_param = cb_param; +dmaengine_desc_set_callback (desc, cb,NULL , cb_param); cookie =dmaengine_submit (desc);return dma_submit_error (cookie);
drivers/crypto/sa2ul.c +1 -2
@@ -1200,8 +1200,7 @@ static int sa_run(struct sa_req *req) rxd->enc = req->enc; rxd->iv_idx = req->ctx->iv_idx; rxd->enc_iv_size = sa_ctx->cmdl_upd_info.enc_iv.size; - rxd->tx_in->callback = req->callback; - rxd->tx_in->callback_param = rxd; +dmaengine_desc_set_callback (rxd->tx_in, req->callback,NULL , rxd); tx_out = dmaengine_prep_slave_sg(pdata->dma_tx, src, src_nents, DMA_MEM_TO_DEV,
drivers/crypto/starfive/jh7110-aes.c +1 -2
@@ -464,8 +464,7 @@ static int starfive_aes_dma_xfer(struct starfive_cryp_dev *cryp, goto dma_err; } - out_desc->callback = starfive_aes_dma_done; - out_desc->callback_param = cryp; +dmaengine_desc_set_callback (out_desc, starfive_aes_dma_done,NULL , cryp);reinit_completion (&cryp->dma_done);dmaengine_submit (out_desc);
drivers/crypto/starfive/jh7110-hash.c +1 -2
@@ -144,8 +144,7 @@ static int starfive_hash_dma_xfer(struct starfive_cryp_dev *cryp, }reinit_completion (&cryp->dma_done); - in_desc->callback = starfive_hash_dma_callback; - in_desc->callback_param = cryp; +dmaengine_desc_set_callback (in_desc, starfive_hash_dma_callback,NULL , cryp);dmaengine_submit (in_desc);dma_async_issue_pending (cryp->tx);
drivers/crypto/stm32/stm32-cryp.c +3 -6
@@ -982,8 +982,7 @@ static int stm32_cryp_header_dma_start(struct stm32_cryp *cryp)return -EINVAL ; } - tx_in->callback_param = cryp; - tx_in->callback = stm32_cryp_header_dma_callback; +dmaengine_desc_set_callback (tx_in, stm32_cryp_header_dma_callback,NULL , cryp);/* Advance scatterwalk to not DMA'ed data */ align_size =ALIGN_DOWN (cryp->header_in, cryp->hw_blocksize);
@@ -1034,8 +1033,7 @@ static int stm32_cryp_dma_start(struct stm32_cryp *cryp) }/* No callback necessary */ - tx_in->callback_param = cryp; - tx_in->callback =NULL ; +dmaengine_desc_set_callback (tx_in,NULL ,NULL , cryp); tx_out =dmaengine_prep_slave_sg (cryp->dma_lch_out, cryp->out_sg, cryp->out_sg_len,DMA_DEV_TO_MEM ,DMA_PREP_INTERRUPT |DMA_CTRL_ACK );
@@ -1045,8 +1043,7 @@ static int stm32_cryp_dma_start(struct stm32_cryp *cryp) }reinit_completion (&cryp->dma_completion); - tx_out->callback = stm32_cryp_dma_callback; - tx_out->callback_param = cryp; +dmaengine_desc_set_callback (tx_out, stm32_cryp_dma_callback,NULL , cryp);/* Advance scatterwalk to not DMA'ed data */ align_size =ALIGN_DOWN (cryp->payload_in, cryp->hw_blocksize);
drivers/crypto/stm32/stm32-hash.c +1 -2
@@ -539,8 +539,7 @@ static int stm32_hash_xmit_dma(struct stm32_hash_dev *hdev, }reinit_completion (&hdev->dma_completion); - in_desc->callback = stm32_hash_dma_callback; - in_desc->callback_param = hdev; +dmaengine_desc_set_callback (in_desc, stm32_hash_dma_callback,NULL , hdev); hdev->flags |=HASH_FLAGS_DMA_ACTIVE ;
drivers/crypto/ti/dthev2-aes.c +3 -6
@@ -448,8 +448,7 @@ static int dthe_aes_run(struct crypto_engine *engine, void *areq) goto aes_prep_err; } - desc_in->callback = dthe_aes_dma_in_callback; - desc_in->callback_param = req; +dmaengine_desc_set_callback (desc_in, dthe_aes_dma_in_callback,NULL , req);init_completion (&rctx->aes_compl);
@@ -1013,12 +1012,10 @@ static int dthe_aead_run(struct crypto_engine *engine, void *areq) goto aead_dma_prep_dst_err; } - desc_in->callback = dthe_aead_dma_in_callback; - desc_in->callback_param = req; +dmaengine_desc_set_callback (desc_in, dthe_aead_dma_in_callback,NULL , req); }else if (assoclen !=0 ) {/* AAD-only operation */ - desc_aad_out->callback = dthe_aead_dma_in_callback; - desc_aad_out->callback_param = req; +dmaengine_desc_set_callback (desc_aad_out, dthe_aead_dma_in_callback,NULL , req); }init_completion (&rctx->aes_compl);
Signature · 1 line
2.43.0
Hi Frank,
Quoted 7 lines · On Mon, Nov 02, 2026 at 11:45:30AM -0500, [email protected] wrote:
From: Frank Li <[email protected]>
Replace open-coded assignments to callback and
callback_paramfields of structdma_async_tx_descriptorwith calls to thedmaengine_desc_set_callback()helper across various crypto drivers.No functional change intended. Prepare make to struct
^^^^^^^ to make?
Quoted 19 lines
dma_async_tx_descriptorprivate to the DMA engine.Signed-off-by Frank Li <[email protected]>--- drivers/crypto/atmel-aes.c | 3 +-- drivers/crypto/atmel-sha.c | 6 ++---- drivers/crypto/atmel-tdes.c | 3 +-- drivers/crypto/img-hash.c | 3 +-- drivers/crypto/omap-aes.c | 8 +++----- drivers/crypto/omap-des.c | 5 ++--- drivers/crypto/omap-sham.c | 3 +-- drivers/crypto/qce/dma.c | 3 +-- drivers/crypto/sa2ul.c | 3 +-- drivers/crypto/starfive/jh7110-aes.c | 3 +-- drivers/crypto/starfive/jh7110-hash.c | 3 +-- drivers/crypto/stm32/stm32-cryp.c | 9 +++------ drivers/crypto/stm32/stm32-hash.c | 3 +-- drivers/crypto/ti/dthev2-aes.c | 9 +++------ 14 files changed, 22 insertions(+), 42 deletions(-)
Quoted 11 lines · On Mon, Nov 02, 2026 at 11:45:30AM -0500, [email protected] wrote:
From: Frank Li <[email protected]>
Replace open-coded assignments to callback and
callback_paramfields of structdma_async_tx_descriptorwith calls to thedmaengine_desc_set_callback()helper across various crypto drivers.No functional change intended. Prepare make to struct
dma_async_tx_descriptorprivate to the DMA engine.Signed-off-by Frank Li <[email protected]>---
Quoted 10 lines · On 02-11-2026 22:15, [email protected] wrote:
From: Frank Li <[email protected]>
Replace open-coded assignments to callback and
callback_paramfields of structdma_async_tx_descriptorwith calls to thedmaengine_desc_set_callback()helper across various crypto drivers.No functional change intended. Prepare make to struct
dma_async_tx_descriptorprivate to the DMA engine.Signed-off-by Frank Li <[email protected]>
Quoted 16 lines
--- drivers/crypto/atmel-aes.c | 3 +-- drivers/crypto/atmel-sha.c | 6 ++---- drivers/crypto/atmel-tdes.c | 3 +-- drivers/crypto/img-hash.c | 3 +-- drivers/crypto/omap-aes.c | 8 +++----- drivers/crypto/omap-des.c | 5 ++--- drivers/crypto/omap-sham.c | 3 +-- drivers/crypto/qce/dma.c | 3 +-- drivers/crypto/sa2ul.c | 3 +-- drivers/crypto/starfive/jh7110-aes.c | 3 +-- drivers/crypto/starfive/jh7110-hash.c | 3 +-- drivers/crypto/stm32/stm32-cryp.c | 9 +++------ drivers/crypto/stm32/stm32-hash.c | 3 +-- drivers/crypto/ti/dthev2-aes.c | 9 +++------ 14 files changed, 22 insertions(+), 42 deletions(-)
LGTM.
Signature · 2 lines
Regards T Pratham <[email protected]>
Quoted 22 lines · On 02/11/2026 17:45, [email protected] wrote:
--- drivers/crypto/atmel-aes.c | 3 +-- drivers/crypto/atmel-sha.c | 6 ++---- drivers/crypto/atmel-tdes.c | 3 +-- drivers/crypto/img-hash.c | 3 +-- drivers/crypto/omap-aes.c | 8 +++----- drivers/crypto/omap-des.c | 5 ++--- drivers/crypto/omap-sham.c | 3 +-- drivers/crypto/qce/dma.c | 3 +-- drivers/crypto/sa2ul.c | 3 +-- drivers/crypto/starfive/jh7110-aes.c | 3 +-- drivers/crypto/starfive/jh7110-hash.c | 3 +-- drivers/crypto/stm32/stm32-cryp.c | 9 +++------ drivers/crypto/stm32/stm32-hash.c | 3 +-- drivers/crypto/ti/dthev2-aes.c | 9 +++------ 14 files changed, 22 insertions(+), 42 deletions(-)drivers/crypto/atmel-aes.c +0
-0
drivers/crypto/atmel-aes.c static int atmel_aes_dma_transfer_start(struct atmel_aes_dev *dd, · line 830
Quoted 9 lines
drivers/crypto/atmel-aes.c +1
-2@@ -824,8 +824,7 @@ static int atmel_aes_dma_transfer_start(struct atmel_aes_dev *dd,if (!desc)return -ENOMEM ; - desc->callback = callback; - desc->callback_param = dd; +dmaengine_desc_set_callback (desc, callback,NULL , dd);dmaengine_submit (desc);dma_async_issue_pending (dma->chan);
Apparently reviewing only a few lines of entire patch is still reviewing:
https://lore.kernel.org/all/[email protected]/
Therefore:
Best regards,
Krzysztof
Andy Shevchenko
Reviewed-by Krzysztof KozlowskiQuoted 20 lines · Krzysztof Kozlowski
Quoted 5 lines · On 02/11/2026 17:45, [email protected] wrote:
drivers/crypto/atmel-aes.c +0
-0drivers/crypto/atmel-aes.c static int atmel_aes_dma_transfer_start(struct atmel_aes_dev *dd, · line 830
Quoted 9 lines
drivers/crypto/atmel-aes.c +1
-2@@ -824,8 +824,7 @@ static int atmel_aes_dma_transfer_start(struct atmel_aes_dev *dd,if (!desc)return -ENOMEM ; - desc->callback = callback; - desc->callback_param = dd; +dmaengine_desc_set_callback (desc, callback,NULL , dd);dmaengine_submit (desc);dma_async_issue_pending (dma->chan);Apparently reviewing only a few lines of entire patch is still reviewing:
https://lore.kernel.org/all/[email protected]/
Quoted 2 lines
Therefore:
Reviewed-by Krzysztof Kozlowski <[email protected]>
Yep, in a form of
or something that makes it clear what has been reviewed.
Signature · 2 lines
With Best Regards, Andy Shevchenko
Quoted 10 lines · On Mon, Nov 02, 2026 at 11:45:30AM -0500, [email protected] wrote:
From: Frank Li <[email protected]>
Replace open-coded assignments to callback and
callback_paramfields of structdma_async_tx_descriptorwith calls to thedmaengine_desc_set_callback()helper across various crypto drivers.No functional change intended. Prepare make to struct
dma_async_tx_descriptorprivate to the DMA engine.Signed-off-by Frank Li <[email protected]>
Quoted 9 lines
--- drivers/crypto/atmel-aes.c | 3 +-- drivers/crypto/atmel-sha.c | 6 ++---- drivers/crypto/atmel-tdes.c | 3 +-- drivers/crypto/img-hash.c | 3 +-- drivers/crypto/omap-aes.c | 8 +++----- drivers/crypto/omap-des.c | 5 ++--- drivers/crypto/omap-sham.c | 3 +-- drivers/crypto/qce/dma.c | 3 +--