[PATCH] crypto: stm32/hash - add full DMA support for stm32mpx

Herbert Xu herbert at gondor.apana.org.au
Fri Apr 19 04:02:35 PDT 2024


On Fri, Apr 12, 2024 at 02:45:45PM +0200, Maxime MERE wrote:
> From: Maxime Méré <maxime.mere at foss.st.com>
> 
> Due to a lack of alignment in the data sent by requests, the actual DMA
> support of the STM32 hash driver is only working with digest calls.
> This patch, based on the algorithm used in the driver omap-sham.c,
> allows for the usage of DMA in any situation.
> 
> It has been functionally tested on STM32MP15, STM32MP13 and STM32MP25.
> 
> By checking the performance of this new driver with OpenSSL, the
> following results were found:
> 
> Performance:
> 
> (datasize: 4096, number of hashes performed in 10s)
> 
> |type   |no DMA    |DMA support|software  |
> |-------|----------|-----------|----------|
> |md5    |13873.56k |10958.03k  |71163.08k |
> |sha1   |13796.15k |10729.47k  |39670.58k |
> |sha224 |13737.98k |10775.76k  |22094.64k |
> |sha256 |13655.65k |10872.01k  |22075.39k |
> 
> CPU Usage:
> 
> (algorithm used: sha256, computation time: 20s, measurement taken at
> ~10s)
> 
> |datasize  |no DMA |DMA  | software |
> |----------|-------|-----|----------|
> |  2048    | 56%   | 49% | 50%      |
> |  4096    | 54%   | 46% | 50%      |
> |  8192    | 53%   | 40% | 50%      |
> | 16384    | 53%   | 33% | 50%      |
> 
> Note: this update doesn't change the driver performance without DMA.
> 
> As shown, performance with DMA is slightly lower than without, but in
> most cases, it will save CPU time.
> 
> Signed-off-by: Maxime Méré <maxime.mere at foss.st.com>
> ---
>  drivers/crypto/stm32/stm32-hash.c | 570 +++++++++++++++++++++++-------
>  1 file changed, 448 insertions(+), 122 deletions(-)

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



More information about the linux-arm-kernel mailing list