linux/drivers/crypto
Antoine Ténart 049655499e crypto: sun4i-ss - fix large block size support
The run-time self-tests fail quite early, as soon as the input block
size is larger than 64 bytes:

  alg: hash: Test 4 failed for sha1-sun4i-ss
  00000000: b9 c9 1e 52 c0 26 d8 39 81 ff f2 3c 99 b1 27 b2
  00000010: 30 d6 c9 85

One thing to notice is the value of the last word, which is the one
expected (it can sometime be the last two words). The datasheet isn't
very clear about when the digest is ready to retrieve and is seems the
bit SS_DATA_END is cleared when the digest was computed *but* that
doesn't mean the digest is ready to retrieve in the registers.

A ndelay(1) is added before reading the computed digest to ensure it is
available in the SS_MD[] registers.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Tested-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Acked-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-06-19 14:19:52 +08:00
..
amcc crypto: crypto4xx - rename ce_ring_contol to ce_ring_control 2017-04-24 18:11:06 +08:00
bcm crypto: brcm - Use IPAD/OPAD constant 2017-05-23 12:52:06 +08:00
caam crypto: caampkc - comply with crypto_akcipher_maxsize() 2017-06-10 12:04:30 +08:00
cavium crypto: cavium - Add more algorithms 2017-06-19 14:11:49 +08:00
ccp crypto: ccp - return NULL instead of 0 2017-06-19 14:11:47 +08:00
chelsio crypto: chcr - Fix error handling related to 'chcr_alloc_shash' 2017-04-21 20:30:47 +08:00
inside-secure crypto: inside-secure - add SafeXcel EIP197 crypto engine driver 2017-06-10 12:04:21 +08:00
marvell crypto: marvell - Use IPAD/OPAD constant 2017-05-23 12:52:07 +08:00
mediatek crypto: mediatek - drop .owner field in mtk_crypto_driver 2017-06-19 14:11:50 +08:00
nx crypto: nx - drop duplicate header types.h 2016-11-17 23:34:55 +08:00
qat crypto: qat - comply with crypto_akcipher_maxsize() 2017-06-10 12:04:31 +08:00
qce
rockchip
stm32 crypto: stm32 - Fix OF module alias information 2017-04-30 01:45:21 +08:00
sunxi-ss crypto: sun4i-ss - fix large block size support 2017-06-19 14:19:52 +08:00
ux500 scripts/spelling.txt: add "disble(d)" pattern and fix typo instances 2017-03-09 17:01:09 -08:00
virtio virtio: wrap find_vqs 2017-05-02 23:41:42 +03:00
vmx crypto: vmx - Use skcipher for xts fallback 2017-03-02 18:57:31 +08:00
atmel-aes-regs.h crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes 2017-02-03 18:16:14 +08:00
atmel-aes.c crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes 2017-02-03 18:16:14 +08:00
atmel-authenc.h crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes 2017-02-03 18:16:14 +08:00
atmel-sha-regs.h crypto: atmel-authenc - add support to authenc(hmac(shaX), Y(aes)) modes 2017-02-03 18:16:14 +08:00
atmel-sha.c crypto: atmel-sha - fix error management in atmel_sha_start() 2017-02-15 13:23:33 +08:00
atmel-tdes-regs.h
atmel-tdes.c crypto: atmel - fix 64-bit build warnings 2017-02-11 17:52:29 +08:00
bfin_crc.c crypto: bfin_crc - Fix format printing warning 2016-12-27 17:50:51 +08:00
bfin_crc.h crypto: bfin_crc - Remove unneeded linux/miscdevice.h include 2016-12-27 17:50:51 +08:00
exynos-rng.c crypto: exynos - Add new Exynos RNG driver 2017-04-21 20:30:46 +08:00
geode-aes.c
geode-aes.h
hifn_795x.c crypto: squash lines for simple wrapper functions 2016-09-13 20:27:26 +08:00
img-hash.c crypto: img-hash - Handle return value of clk_prepare_enable 2017-05-23 12:52:03 +08:00
ixp4xx_crypto.c crypto: ixp4xx - Use IPAD/OPAD constant 2017-05-23 12:52:07 +08:00
Kconfig crypto: cavium - Add support for CNN55XX adapters. 2017-06-10 12:04:33 +08:00
Makefile crypto: cavium - Add support for CNN55XX adapters. 2017-06-10 12:04:33 +08:00
mv_cesa.c crypto: mv_cesa - Use IPAD/OPAD constant 2017-05-23 12:52:08 +08:00
mv_cesa.h
mxc-scc.c
mxs-dcp.c
n2_asm.S
n2_core.c crypto: N2 - Replace racy task affinity logic 2017-04-15 12:20:56 +02:00
n2_core.h
omap-aes-gcm.c crypto: omap-aes - Add support for GCM mode 2017-06-10 12:04:19 +08:00
omap-aes.c crypto: omap-aes - Add support for GCM mode 2017-06-10 12:04:19 +08:00
omap-aes.h crypto: omap-aes - Add support for GCM mode 2017-06-10 12:04:19 +08:00
omap-crypto.c crypto: omap - add base support library for common routines 2017-06-10 12:04:15 +08:00
omap-crypto.h crypto: omap - add base support library for common routines 2017-06-10 12:04:15 +08:00
omap-des.c crypto: omap-des - use base omap crypto support library 2017-06-10 12:04:16 +08:00
omap-sham.c crypto: omap-sham - force word alignment on the xmit-buf also 2017-06-10 12:04:20 +08:00
padlock-aes.c x86/fpu: Remove irq_ts_save() and irq_ts_restore() 2016-11-01 07:47:54 +01:00
padlock-sha.c x86/fpu: Remove irq_ts_save() and irq_ts_restore() 2016-11-01 07:47:54 +01:00
picoxcell_crypto_regs.h
picoxcell_crypto.c crypto: picoxcell - Remove spacc_is_compatible() wrapper function 2017-01-13 00:24:41 +08:00
s5p-sss.c crypto: s5p-sss - Document the struct s5p_aes_dev 2017-03-24 22:03:00 +08:00
sahara.c crypto: sahara - fix typo "Decidated" -> "Dedicated" 2016-11-01 08:37:12 +08:00
talitos.c crypto: talitos - Extend max key length for SHA384/512-HMAC and AEAD 2017-06-19 14:11:44 +08:00
talitos.h