crypto: s5p-sss - Add HASH support for Exynos
Add support for MD5, SHA1, SHA256 hash algorithms for Exynos HW. It uses the crypto framework asynchronous hash api. It is based on omap-sham.c driver. S5P has some HW differencies and is not implemented. Modifications in s5p-sss: - Add hash supporting structures and functions. - Modify irq handler to handle both aes and hash signals. - Resize resource end in probe if EXYNOS_HASH is enabled in Kconfig. - Add new copyright line and new author. - Tested on Odroid-U3 with Exynos 4412 CPU, kernel 4.13-rc6 with crypto run-time self test testmgr and with tcrypt module with: modprobe tcrypt sec=1 mode=N where N=402, 403, 404 (MD5, SHA1, SHA256). Modifications in drivers/crypto/Kconfig: - Add new CRYPTO_DEV_EXYNOS_HASH, depend on !EXYNOS_RNG and CRYPTO_DEV_S5P - Select sw algorithms MD5, SHA1 and SHA256 in EXYNOS_HASH as they are needed for fallback. Acked-by: Vladimir Zapolskiy <vz@mleia.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Kamil Konieczny <k.konieczny@partner.samsung.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
e5e4090884
commit
c2afad6c61
|
@ -427,6 +427,20 @@ config CRYPTO_DEV_S5P
|
|||
Select this to offload Samsung S5PV210 or S5PC110, Exynos from AES
|
||||
algorithms execution.
|
||||
|
||||
config CRYPTO_DEV_EXYNOS_HASH
|
||||
bool "Support for Samsung Exynos HASH accelerator"
|
||||
depends on CRYPTO_DEV_S5P
|
||||
depends on !CRYPTO_DEV_EXYNOS_RNG && CRYPTO_DEV_EXYNOS_RNG!=m
|
||||
select CRYPTO_SHA1
|
||||
select CRYPTO_MD5
|
||||
select CRYPTO_SHA256
|
||||
help
|
||||
Select this to offload Exynos from HASH MD5/SHA1/SHA256.
|
||||
This will select software SHA1, MD5 and SHA256 as they are
|
||||
needed for small and zero-size messages.
|
||||
HASH algorithms will be disabled if EXYNOS_RNG
|
||||
is enabled due to hw conflict.
|
||||
|
||||
config CRYPTO_DEV_NX
|
||||
bool "Support for IBM PowerPC Nest (NX) cryptographic acceleration"
|
||||
depends on PPC64
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue