linux/drivers/crypto
Ludovic Desroches 0099286b66 crypto: atmel-sha - correct the way data are split
When a hash is requested on data bigger than the buffer allocated by the
SHA driver, the way DMA transfers are performed is quite strange:
The buffer is filled at each update request. When full, a DMA transfer
is done. On next update request, another DMA transfer is done. Then we
wait to have a full buffer (or the end of the data) to perform the dma
transfer. Such a situation lead sometimes, on SAMA5D4, to a case where
dma transfer is finished but the data ready irq never comes. Moreover
hash was incorrect in this case.

With this patch, dma transfers are only performed when the buffer is
full or when there is no more data. So it removes the transfer whose size
is equal the update size after the full buffer transmission.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Leilei Zhao <leilei.zhao@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2015-04-08 22:20:01 +08:00
..
amcc crypto: amcc - remove incorrect __init/__exit markups 2015-03-12 01:11:07 +11:00
caam hwrng: caam - fix rng_unmap_ctx's DMA_UNMAP size problem 2015-03-09 21:06:17 +11:00
ccp crypto: ccp - Add ACPI support 2015-02-27 22:48:49 +13:00
nx crypto: replace scatterwalk_sg_next with sg_next 2015-01-26 11:34:22 +11:00
qat crypto: qat - fix double release_firmware on error path 2015-04-07 21:34:22 +08:00
qce crypto: replace scatterwalk_sg_next with sg_next 2015-01-26 11:34:22 +11:00
ux500 crypto: ux500 - Update error message for dmaengine_prep_slave_sg() API 2015-03-06 22:51:28 +11:00
vmx linux-next: Tree for Mar 11 (powerpc build failure due to vmx crypto code) 2015-03-12 21:18:00 +11:00
atmel-aes-regs.h crypto: atmel - add Atmel AES driver 2012-07-11 11:07:40 +08:00
atmel-aes.c crypto: atmel-aes - add new version 2015-04-08 22:20:00 +08:00
atmel-sha-regs.h crypto: atmel-sha - add support for latest release of the IP (0x410) 2013-03-10 16:46:42 +08:00
atmel-sha.c crypto: atmel-sha - correct the way data are split 2015-04-08 22:20:01 +08:00
atmel-tdes-regs.h crypto: atmel-tdes - add support for latest release of the IP (0x700) 2013-03-10 16:46:42 +08:00
atmel-tdes.c crypto: atmel - fix typo in dev_err error message 2015-03-04 22:12:40 +13:00
bfin_crc.c crypto: replace scatterwalk_sg_next with sg_next 2015-01-26 11:34:22 +11:00
bfin_crc.h crypto: bfin_crc - access crc registers by readl and writel functions 2014-04-16 20:40:15 +08:00
geode-aes.c crypto: geode - Don't use tfm->__crt_alg->cra_name directly 2014-05-22 21:03:13 +08:00
geode-aes.h crypto: geode - Consistently use AES_KEYSIZE_128 2014-05-22 21:03:12 +08:00
hifn_795x.c crypto: use pci_zalloc_consistent 2014-08-08 15:57:28 -07:00
img-hash.c crypto: img-hash - shift wrapping bug in img_hash_hw_init() 2015-03-23 22:06:50 +11:00
ixp4xx_crypto.c crypto: replace scatterwalk_sg_next with sg_next 2015-01-26 11:34:22 +11:00
Kconfig crypto: img-hash - Fix Kconfig selections 2015-03-23 22:06:47 +11:00
Makefile crypto: img-hash - Add Imagination Technologies hw hash accelerator 2015-03-16 21:46:24 +11:00
mv_cesa.c crypto: drop owner assignment from platform_drivers 2014-10-20 16:20:25 +02:00
mv_cesa.h crypto: mv_cesa - Add missing #define 2014-08-29 21:46:36 +08:00
mxs-dcp.c crypto: mxs-dcp - fix type of ret for wait_for_completion_timeout 2015-02-28 23:31:36 +13:00
n2_asm.S crypto: n2 - Add Niagara2 crypto driver 2010-05-19 14:14:04 +10:00
n2_core.c crypto: drop owner assignment from platform_drivers 2014-10-20 16:20:25 +02:00
n2_core.h crypto: n2 - Add Niagara2 crypto driver 2010-05-19 14:14:04 +10:00
omap-aes.c crypto: omap-aes - Fix support for unequal lengths 2015-04-01 22:22:43 +08:00
omap-des.c crypto: replace scatterwalk_sg_next with sg_next 2015-01-26 11:34:22 +11:00
omap-sham.c crypto: omap-sham - Add the offset of sg page to vaddr 2015-04-03 17:53:32 +08:00
padlock-aes.c crypto: prefix module autoloading with "crypto-" 2014-11-24 22:43:57 +08:00
padlock-sha.c crypto: prefix module autoloading with "crypto-" 2014-11-24 22:43:57 +08:00
picoxcell_crypto_regs.h crypto: picoxcell - add support for the picoxcell crypto engines 2011-02-21 22:42:40 +11:00
picoxcell_crypto.c crypto: picoxcell - Use devm_ioremap_resource() 2014-02-27 05:56:47 +08:00
s5p-sss.c crypto: drop owner assignment from platform_drivers 2014-10-20 16:20:25 +02:00
sahara.c crypto: sahara - drop unnecessary default assignment 2015-02-28 23:31:37 +13:00
talitos.c crypto: talitos - Remove MD5_BLOCK_SIZE 2015-03-06 22:51:27 +11:00
talitos.h crypto: talitos - add sha224, sha384 and sha512 to existing AEAD algorithms 2012-07-11 11:08:29 +08:00