[PATCH v3 0/9] sun8i-ce: small cleanups/refactoring

Ovidiu Panait posted 9 patches 1 month ago
.../allwinner/sun8i-ce/sun8i-ce-cipher.c      |  85 +++++-----
.../crypto/allwinner/sun8i-ce/sun8i-ce-core.c |  35 ++---
.../crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 145 ++++++++++--------
.../crypto/allwinner/sun8i-ce/sun8i-ce-prng.c |   1 -
.../crypto/allwinner/sun8i-ce/sun8i-ce-trng.c |   1 -
drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h  |  27 +++-
6 files changed, 147 insertions(+), 147 deletions(-)
[PATCH v3 0/9] sun8i-ce: small cleanups/refactoring
Posted by Ovidiu Panait 1 month ago
This series includes only the refactoring commits from [1]. The batching
related changes were dropped since they are no longer relevant (batching
support in crypto_engine was retired in [2]).

This series includes various small cleanups and refactoring:
- move request-specific skcipher and hash data to request context,
  eliminating the need to allocate extra memory in the digest path
- make the hashing code more clear and modular
- reduce a bit of boilerplate/duplicated code

Changes in v3:
   - dropped ____cacheline_aligned attributes from buffers used for
     to-device DMA only
   - set up proper alignment for ahash reqctx, in order to allow from-device DMA
     into reqctx buffer:
      * increased ahash reqsize by CRYPTO_DMA_PADDING
      * added __aligned(CRYPTO_DMA_ALIGN) attribute for the 'result' buffer
      * converted all ahash_request_ctx_dma() calls to ahash_request_ctx_dma()

Changes in v2:
   - fixed [-Wunused-but-set-variable] warning reported by kernel test robot

[1] https://lore.kernel.org/linux-crypto/20250626095813.83963-1-ovidiu.panait.oss@gmail.com/
[2] c470ffa6f486 ("crypto: engine - remove request batching support")

Ovidiu Panait (9):
  crypto: sun8i-ce - remove channel timeout field
  crypto: sun8i-ce - remove boilerplate in sun8i_ce_hash_digest()
  crypto: sun8i-ce - remove unnecessary __maybe_unused annotations
  crypto: sun8i-ce - add a new function for dumping task descriptors
  crypto: sun8i-ce - move bounce_iv and backup_iv to request context
  crypto: sun8i-ce - fold sun8i_ce_cipher_run() into
    sun8i_ce_cipher_do_one()
  crypto: sun8i-ce - pass task descriptor to cipher prepare/unprepare
  crypto: sun8i-ce - save hash buffers and dma info to request context
  crytpo: sun8i-ce - factor out prepare/unprepare from
    sun8i_ce_hash_run()

 .../allwinner/sun8i-ce/sun8i-ce-cipher.c      |  85 +++++-----
 .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c |  35 ++---
 .../crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 145 ++++++++++--------
 .../crypto/allwinner/sun8i-ce/sun8i-ce-prng.c |   1 -
 .../crypto/allwinner/sun8i-ce/sun8i-ce-trng.c |   1 -
 drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h  |  27 +++-
 6 files changed, 147 insertions(+), 147 deletions(-)

-- 
2.50.0
Re: [PATCH v3 0/9] sun8i-ce: small cleanups/refactoring
Posted by Herbert Xu 2 weeks, 6 days ago
On Tue, Sep 02, 2025 at 04:21:25PM +0300, Ovidiu Panait wrote:
> This series includes only the refactoring commits from [1]. The batching
> related changes were dropped since they are no longer relevant (batching
> support in crypto_engine was retired in [2]).
> 
> This series includes various small cleanups and refactoring:
> - move request-specific skcipher and hash data to request context,
>   eliminating the need to allocate extra memory in the digest path
> - make the hashing code more clear and modular
> - reduce a bit of boilerplate/duplicated code
> 
> Changes in v3:
>    - dropped ____cacheline_aligned attributes from buffers used for
>      to-device DMA only
>    - set up proper alignment for ahash reqctx, in order to allow from-device DMA
>      into reqctx buffer:
>       * increased ahash reqsize by CRYPTO_DMA_PADDING
>       * added __aligned(CRYPTO_DMA_ALIGN) attribute for the 'result' buffer
>       * converted all ahash_request_ctx_dma() calls to ahash_request_ctx_dma()
> 
> Changes in v2:
>    - fixed [-Wunused-but-set-variable] warning reported by kernel test robot
> 
> [1] https://lore.kernel.org/linux-crypto/20250626095813.83963-1-ovidiu.panait.oss@gmail.com/
> [2] c470ffa6f486 ("crypto: engine - remove request batching support")
> 
> Ovidiu Panait (9):
>   crypto: sun8i-ce - remove channel timeout field
>   crypto: sun8i-ce - remove boilerplate in sun8i_ce_hash_digest()
>   crypto: sun8i-ce - remove unnecessary __maybe_unused annotations
>   crypto: sun8i-ce - add a new function for dumping task descriptors
>   crypto: sun8i-ce - move bounce_iv and backup_iv to request context
>   crypto: sun8i-ce - fold sun8i_ce_cipher_run() into
>     sun8i_ce_cipher_do_one()
>   crypto: sun8i-ce - pass task descriptor to cipher prepare/unprepare
>   crypto: sun8i-ce - save hash buffers and dma info to request context
>   crytpo: sun8i-ce - factor out prepare/unprepare from
>     sun8i_ce_hash_run()
> 
>  .../allwinner/sun8i-ce/sun8i-ce-cipher.c      |  85 +++++-----
>  .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c |  35 ++---
>  .../crypto/allwinner/sun8i-ce/sun8i-ce-hash.c | 145 ++++++++++--------
>  .../crypto/allwinner/sun8i-ce/sun8i-ce-prng.c |   1 -
>  .../crypto/allwinner/sun8i-ce/sun8i-ce-trng.c |   1 -
>  drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h  |  27 +++-
>  6 files changed, 147 insertions(+), 147 deletions(-)
> 
> -- 
> 2.50.0

All applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt