diff mbox series

crypto: caam - Set DMA alignment explicitly

Message ID 20250604101446.3993932-1-meenakshi.aggarwal@nxp.com
State New
Headers show
Series crypto: caam - Set DMA alignment explicitly | expand

Commit Message

Meenakshi Aggarwal June 4, 2025, 10:14 a.m. UTC
From: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>

Few DMA alignment were missed in the original patch.

Fixes: 4cb4f7c11dee ("crypto: caam - Set DMA alignment explicitly")

Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
---
 drivers/crypto/caam/caamalg.c    | 22 +++++++++++-----------
 drivers/crypto/caam/caamalg_qi.c |  4 ++--
 2 files changed, 13 insertions(+), 13 deletions(-)

Comments

Gaurav Jain June 5, 2025, 8:49 a.m. UTC | #1
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com

> -----Original Message-----
> From: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
> Sent: Wednesday, June 4, 2025 3:45 PM
> To: Gaurav Jain <gaurav.jain@nxp.com>; herbert@gondor.apana.org.au;
> davem@davemloft.net; linux-crypto@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
> Subject: [PATCH] crypto: caam - Set DMA alignment explicitly
> 
> From: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
> 
> Few DMA alignment were missed in the original patch.
> 
> Fixes: 4cb4f7c11dee ("crypto: caam - Set DMA alignment explicitly")
> 
> Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
> ---
>  drivers/crypto/caam/caamalg.c    | 22 +++++++++++-----------
>  drivers/crypto/caam/caamalg_qi.c |  4 ++--
>  2 files changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c
> index 2cfb1b8d8c7c..81dfbe436c20 100644
> --- a/drivers/crypto/caam/caamalg.c
> +++ b/drivers/crypto/caam/caamalg.c
> @@ -980,7 +980,7 @@ static void aead_crypt_done(struct device *jrdev, u32
> *desc, u32 err,
>  			    void *context)
>  {
>  	struct aead_request *req = context;
> -	struct caam_aead_req_ctx *rctx = aead_request_ctx(req);
> +	struct caam_aead_req_ctx *rctx = aead_request_ctx_dma(req);
>  	struct caam_drv_private_jr *jrp = dev_get_drvdata(jrdev);
>  	struct aead_edesc *edesc;
>  	int ecode = 0;
> @@ -1020,7 +1020,7 @@ static void skcipher_crypt_done(struct device *jrdev,
> u32 *desc, u32 err,  {
>  	struct skcipher_request *req = context;
>  	struct skcipher_edesc *edesc;
> -	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req);
> +	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx_dma(req);
>  	struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req);
>  	struct caam_drv_private_jr *jrp = dev_get_drvdata(jrdev);
>  	int ivsize = crypto_skcipher_ivsize(skcipher); @@ -1309,7 +1309,7 @@
> static struct aead_edesc *aead_edesc_alloc(struct aead_request *req,
>  	struct crypto_aead *aead = crypto_aead_reqtfm(req);
>  	struct caam_ctx *ctx = crypto_aead_ctx_dma(aead);
>  	struct device *jrdev = ctx->jrdev;
> -	struct caam_aead_req_ctx *rctx = aead_request_ctx(req);
> +	struct caam_aead_req_ctx *rctx = aead_request_ctx_dma(req);
>  	gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
>  		       GFP_KERNEL : GFP_ATOMIC;
>  	int src_nents, mapped_src_nents, dst_nents = 0, mapped_dst_nents = 0;
> @@ -1445,7 +1445,7 @@ static struct aead_edesc *aead_edesc_alloc(struct
> aead_request *req,  static int aead_enqueue_req(struct device *jrdev, struct
> aead_request *req)  {
>  	struct caam_drv_private_jr *jrpriv = dev_get_drvdata(jrdev);
> -	struct caam_aead_req_ctx *rctx = aead_request_ctx(req);
> +	struct caam_aead_req_ctx *rctx = aead_request_ctx_dma(req);
>  	struct aead_edesc *edesc = rctx->edesc;
>  	u32 *desc = edesc->hw_desc;
>  	int ret;
> @@ -1541,7 +1541,7 @@ static int aead_do_one_req(struct crypto_engine
> *engine, void *areq)  {
>  	struct aead_request *req = aead_request_cast(areq);
>  	struct caam_ctx *ctx =
> crypto_aead_ctx_dma(crypto_aead_reqtfm(req));
> -	struct caam_aead_req_ctx *rctx = aead_request_ctx(req);
> +	struct caam_aead_req_ctx *rctx = aead_request_ctx_dma(req);
>  	u32 *desc = rctx->edesc->hw_desc;
>  	int ret;
> 
> @@ -1614,7 +1614,7 @@ static struct skcipher_edesc
> *skcipher_edesc_alloc(struct skcipher_request *req,  {
>  	struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req);
>  	struct caam_ctx *ctx = crypto_skcipher_ctx_dma(skcipher);
> -	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req);
> +	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx_dma(req);
>  	struct device *jrdev = ctx->jrdev;
>  	gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
>  		       GFP_KERNEL : GFP_ATOMIC;
> @@ -1778,7 +1778,7 @@ static int skcipher_do_one_req(struct crypto_engine
> *engine, void *areq)  {
>  	struct skcipher_request *req = skcipher_request_cast(areq);
>  	struct caam_ctx *ctx =
> crypto_skcipher_ctx_dma(crypto_skcipher_reqtfm(req));
> -	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req);
> +	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx_dma(req);
>  	u32 *desc = rctx->edesc->hw_desc;
>  	int ret;
> 
> @@ -1828,7 +1828,7 @@ static inline int skcipher_crypt(struct skcipher_request
> *req, bool encrypt)
> 
>  	if (ctx->fallback && ((ctrlpriv->era <= 8 && xts_skcipher_ivsize(req)) ||
>  			      ctx->xts_key_fallback)) {
> -		struct caam_skcipher_req_ctx *rctx =
> skcipher_request_ctx(req);
> +		struct caam_skcipher_req_ctx *rctx =
> skcipher_request_ctx_dma(req);
> 
>  		skcipher_request_set_tfm(&rctx->fallback_req, ctx->fallback);
>  		skcipher_request_set_callback(&rctx->fallback_req,
> @@ -3639,10 +3639,10 @@ static int caam_cra_init(struct crypto_skcipher
> *tfm)
>  		}
> 
>  		ctx->fallback = fallback;
> -		crypto_skcipher_set_reqsize(tfm, sizeof(struct
> caam_skcipher_req_ctx) +
> +		crypto_skcipher_set_reqsize_dma(tfm, sizeof(struct
> +caam_skcipher_req_ctx) +
>  					    crypto_skcipher_reqsize(fallback));
>  	} else {
> -		crypto_skcipher_set_reqsize(tfm, sizeof(struct
> caam_skcipher_req_ctx));
> +		crypto_skcipher_set_reqsize_dma(tfm, sizeof(struct
> +caam_skcipher_req_ctx));
>  	}
> 
>  	ret = caam_init_common(ctx, &caam_alg->caam, false); @@ -3659,7
> +3659,7 @@ static int caam_aead_init(struct crypto_aead *tfm)
>  		 container_of(alg, struct caam_aead_alg, aead.base);
>  	struct caam_ctx *ctx = crypto_aead_ctx_dma(tfm);
> 
> -	crypto_aead_set_reqsize(tfm, sizeof(struct caam_aead_req_ctx));
> +	crypto_aead_set_reqsize_dma(tfm, sizeof(struct caam_aead_req_ctx));
> 
>  	return caam_init_common(ctx, &caam_alg->caam, !caam_alg-
> >caam.nodkp);  } diff --git a/drivers/crypto/caam/caamalg_qi.c
> b/drivers/crypto/caam/caamalg_qi.c
> index 65f6adb6c673..9aa2d6d97f22 100644
> --- a/drivers/crypto/caam/caamalg_qi.c
> +++ b/drivers/crypto/caam/caamalg_qi.c
> @@ -1435,7 +1435,7 @@ static inline int skcipher_crypt(struct skcipher_request
> *req, bool encrypt)
> 
>  	if (ctx->fallback && ((ctrlpriv->era <= 8 && xts_skcipher_ivsize(req)) ||
>  			      ctx->xts_key_fallback)) {
> -		struct caam_skcipher_req_ctx *rctx =
> skcipher_request_ctx(req);
> +		struct caam_skcipher_req_ctx *rctx =
> skcipher_request_ctx_dma(req);
> 
>  		skcipher_request_set_tfm(&rctx->fallback_req, ctx->fallback);
>  		skcipher_request_set_callback(&rctx->fallback_req,
> @@ -2524,7 +2524,7 @@ static int caam_cra_init(struct crypto_skcipher *tfm)
>  		}
> 
>  		ctx->fallback = fallback;
> -		crypto_skcipher_set_reqsize(tfm, sizeof(struct
> caam_skcipher_req_ctx) +
> +		crypto_skcipher_set_reqsize_dma(tfm, sizeof(struct
> +caam_skcipher_req_ctx) +
>  					    crypto_skcipher_reqsize(fallback));
>  	}
> 
> --
> 2.25.1
diff mbox series

Patch

diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c
index 2cfb1b8d8c7c..81dfbe436c20 100644
--- a/drivers/crypto/caam/caamalg.c
+++ b/drivers/crypto/caam/caamalg.c
@@ -980,7 +980,7 @@  static void aead_crypt_done(struct device *jrdev, u32 *desc, u32 err,
 			    void *context)
 {
 	struct aead_request *req = context;
-	struct caam_aead_req_ctx *rctx = aead_request_ctx(req);
+	struct caam_aead_req_ctx *rctx = aead_request_ctx_dma(req);
 	struct caam_drv_private_jr *jrp = dev_get_drvdata(jrdev);
 	struct aead_edesc *edesc;
 	int ecode = 0;
@@ -1020,7 +1020,7 @@  static void skcipher_crypt_done(struct device *jrdev, u32 *desc, u32 err,
 {
 	struct skcipher_request *req = context;
 	struct skcipher_edesc *edesc;
-	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req);
+	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx_dma(req);
 	struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req);
 	struct caam_drv_private_jr *jrp = dev_get_drvdata(jrdev);
 	int ivsize = crypto_skcipher_ivsize(skcipher);
@@ -1309,7 +1309,7 @@  static struct aead_edesc *aead_edesc_alloc(struct aead_request *req,
 	struct crypto_aead *aead = crypto_aead_reqtfm(req);
 	struct caam_ctx *ctx = crypto_aead_ctx_dma(aead);
 	struct device *jrdev = ctx->jrdev;
-	struct caam_aead_req_ctx *rctx = aead_request_ctx(req);
+	struct caam_aead_req_ctx *rctx = aead_request_ctx_dma(req);
 	gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
 		       GFP_KERNEL : GFP_ATOMIC;
 	int src_nents, mapped_src_nents, dst_nents = 0, mapped_dst_nents = 0;
@@ -1445,7 +1445,7 @@  static struct aead_edesc *aead_edesc_alloc(struct aead_request *req,
 static int aead_enqueue_req(struct device *jrdev, struct aead_request *req)
 {
 	struct caam_drv_private_jr *jrpriv = dev_get_drvdata(jrdev);
-	struct caam_aead_req_ctx *rctx = aead_request_ctx(req);
+	struct caam_aead_req_ctx *rctx = aead_request_ctx_dma(req);
 	struct aead_edesc *edesc = rctx->edesc;
 	u32 *desc = edesc->hw_desc;
 	int ret;
@@ -1541,7 +1541,7 @@  static int aead_do_one_req(struct crypto_engine *engine, void *areq)
 {
 	struct aead_request *req = aead_request_cast(areq);
 	struct caam_ctx *ctx = crypto_aead_ctx_dma(crypto_aead_reqtfm(req));
-	struct caam_aead_req_ctx *rctx = aead_request_ctx(req);
+	struct caam_aead_req_ctx *rctx = aead_request_ctx_dma(req);
 	u32 *desc = rctx->edesc->hw_desc;
 	int ret;
 
@@ -1614,7 +1614,7 @@  static struct skcipher_edesc *skcipher_edesc_alloc(struct skcipher_request *req,
 {
 	struct crypto_skcipher *skcipher = crypto_skcipher_reqtfm(req);
 	struct caam_ctx *ctx = crypto_skcipher_ctx_dma(skcipher);
-	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req);
+	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx_dma(req);
 	struct device *jrdev = ctx->jrdev;
 	gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
 		       GFP_KERNEL : GFP_ATOMIC;
@@ -1778,7 +1778,7 @@  static int skcipher_do_one_req(struct crypto_engine *engine, void *areq)
 {
 	struct skcipher_request *req = skcipher_request_cast(areq);
 	struct caam_ctx *ctx = crypto_skcipher_ctx_dma(crypto_skcipher_reqtfm(req));
-	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req);
+	struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx_dma(req);
 	u32 *desc = rctx->edesc->hw_desc;
 	int ret;
 
@@ -1828,7 +1828,7 @@  static inline int skcipher_crypt(struct skcipher_request *req, bool encrypt)
 
 	if (ctx->fallback && ((ctrlpriv->era <= 8 && xts_skcipher_ivsize(req)) ||
 			      ctx->xts_key_fallback)) {
-		struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req);
+		struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx_dma(req);
 
 		skcipher_request_set_tfm(&rctx->fallback_req, ctx->fallback);
 		skcipher_request_set_callback(&rctx->fallback_req,
@@ -3639,10 +3639,10 @@  static int caam_cra_init(struct crypto_skcipher *tfm)
 		}
 
 		ctx->fallback = fallback;
-		crypto_skcipher_set_reqsize(tfm, sizeof(struct caam_skcipher_req_ctx) +
+		crypto_skcipher_set_reqsize_dma(tfm, sizeof(struct caam_skcipher_req_ctx) +
 					    crypto_skcipher_reqsize(fallback));
 	} else {
-		crypto_skcipher_set_reqsize(tfm, sizeof(struct caam_skcipher_req_ctx));
+		crypto_skcipher_set_reqsize_dma(tfm, sizeof(struct caam_skcipher_req_ctx));
 	}
 
 	ret = caam_init_common(ctx, &caam_alg->caam, false);
@@ -3659,7 +3659,7 @@  static int caam_aead_init(struct crypto_aead *tfm)
 		 container_of(alg, struct caam_aead_alg, aead.base);
 	struct caam_ctx *ctx = crypto_aead_ctx_dma(tfm);
 
-	crypto_aead_set_reqsize(tfm, sizeof(struct caam_aead_req_ctx));
+	crypto_aead_set_reqsize_dma(tfm, sizeof(struct caam_aead_req_ctx));
 
 	return caam_init_common(ctx, &caam_alg->caam, !caam_alg->caam.nodkp);
 }
diff --git a/drivers/crypto/caam/caamalg_qi.c b/drivers/crypto/caam/caamalg_qi.c
index 65f6adb6c673..9aa2d6d97f22 100644
--- a/drivers/crypto/caam/caamalg_qi.c
+++ b/drivers/crypto/caam/caamalg_qi.c
@@ -1435,7 +1435,7 @@  static inline int skcipher_crypt(struct skcipher_request *req, bool encrypt)
 
 	if (ctx->fallback && ((ctrlpriv->era <= 8 && xts_skcipher_ivsize(req)) ||
 			      ctx->xts_key_fallback)) {
-		struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx(req);
+		struct caam_skcipher_req_ctx *rctx = skcipher_request_ctx_dma(req);
 
 		skcipher_request_set_tfm(&rctx->fallback_req, ctx->fallback);
 		skcipher_request_set_callback(&rctx->fallback_req,
@@ -2524,7 +2524,7 @@  static int caam_cra_init(struct crypto_skcipher *tfm)
 		}
 
 		ctx->fallback = fallback;
-		crypto_skcipher_set_reqsize(tfm, sizeof(struct caam_skcipher_req_ctx) +
+		crypto_skcipher_set_reqsize_dma(tfm, sizeof(struct caam_skcipher_req_ctx) +
 					    crypto_skcipher_reqsize(fallback));
 	}