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

From: Herbert Xu
Date: Fri Apr 19 2024 - 07:02:55 EST


On Fri, Apr 12, 2024 at 02:45:45PM +0200, Maxime MERE wrote:
> From: Maxime Méré <maxime.mere@xxxxxxxxxxx>
>
> 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@xxxxxxxxxxx>
> ---
> drivers/crypto/stm32/stm32-hash.c | 570 +++++++++++++++++++++++-------
> 1 file changed, 448 insertions(+), 122 deletions(-)

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