]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: sun8i-ce - remove ivlen field of sun8i_cipher_req_ctx
authorOvidiu Panait <ovidiu.panait.oss@gmail.com>
Mon, 19 May 2025 15:13:49 +0000 (18:13 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 13 Jun 2025 09:26:16 +0000 (17:26 +0800)
Remove `ivlen` field of `sun8i_cipher_req_ctx`, as it is not really useful.

The iv length returned by crypto_skcipher_ivsize() is already available
everywhere and can be used instead.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-cipher.c
drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h

index 7cd3b13f3bdc654812e5a2af424e40b7ba5bc9a0..5663df49dd8176148dc2a23c5688da3ddb1342e5 100644 (file)
@@ -206,15 +206,14 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *async_req
        cet->t_key = desc_addr_val_le32(ce, rctx->addr_key);
 
        ivsize = crypto_skcipher_ivsize(tfm);
-       if (areq->iv && crypto_skcipher_ivsize(tfm) > 0) {
-               rctx->ivlen = ivsize;
+       if (areq->iv && ivsize > 0) {
                if (rctx->op_dir & CE_DECRYPTION) {
                        offset = areq->cryptlen - ivsize;
                        scatterwalk_map_and_copy(chan->backup_iv, areq->src,
                                                 offset, ivsize, 0);
                }
                memcpy(chan->bounce_iv, areq->iv, ivsize);
-               rctx->addr_iv = dma_map_single(ce->dev, chan->bounce_iv, rctx->ivlen,
+               rctx->addr_iv = dma_map_single(ce->dev, chan->bounce_iv, ivsize,
                                               DMA_TO_DEVICE);
                if (dma_mapping_error(ce->dev, rctx->addr_iv)) {
                        dev_err(ce->dev, "Cannot DMA MAP IV\n");
@@ -296,7 +295,8 @@ theend_sgs:
 theend_iv:
        if (areq->iv && ivsize > 0) {
                if (!dma_mapping_error(ce->dev, rctx->addr_iv))
-                       dma_unmap_single(ce->dev, rctx->addr_iv, rctx->ivlen, DMA_TO_DEVICE);
+                       dma_unmap_single(ce->dev, rctx->addr_iv, ivsize,
+                                        DMA_TO_DEVICE);
 
                offset = areq->cryptlen - ivsize;
                if (rctx->op_dir & CE_DECRYPTION) {
@@ -345,7 +345,8 @@ static void sun8i_ce_cipher_unprepare(struct crypto_engine *engine,
 
        if (areq->iv && ivsize > 0) {
                if (cet->t_iv)
-                       dma_unmap_single(ce->dev, rctx->addr_iv, rctx->ivlen, DMA_TO_DEVICE);
+                       dma_unmap_single(ce->dev, rctx->addr_iv, ivsize,
+                                        DMA_TO_DEVICE);
                offset = areq->cryptlen - ivsize;
                if (rctx->op_dir & CE_DECRYPTION) {
                        memcpy(areq->iv, chan->backup_iv, ivsize);
index 83df4d71905318100f184cee0ef52bbb9e09e5ea..0f9a890670167088dd95a27038b2aba2fe4c66c0 100644 (file)
@@ -260,7 +260,6 @@ static inline __le32 desc_addr_val_le32(struct sun8i_ce_dev *dev,
  * struct sun8i_cipher_req_ctx - context for a skcipher request
  * @op_dir:            direction (encrypt vs decrypt) for this request
  * @flow:              the flow to use for this request
- * @ivlen:             size of bounce_iv
  * @nr_sgs:            The number of source SG (as given by dma_map_sg())
  * @nr_sgd:            The number of destination SG (as given by dma_map_sg())
  * @addr_iv:           The IV addr returned by dma_map_single, need to unmap later
@@ -270,7 +269,6 @@ static inline __le32 desc_addr_val_le32(struct sun8i_ce_dev *dev,
 struct sun8i_cipher_req_ctx {
        u32 op_dir;
        int flow;
-       unsigned int ivlen;
        int nr_sgs;
        int nr_sgd;
        dma_addr_t addr_iv;