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