Hello, This is a series of patches for exynos-rng driver I've decided to create after adding support for Exynos5250+ chips. They do not strictly depend on each other, but I think it is better to send them as a single patch-set. The driver requires appropriate DT configuration introduced in https://patchwork.kernel.org/patch/10104445/ Patch #1 Add support for PRNG in Exynos5250+ SoCs Patch #2 Improve output performance by using memcpy() rather than a custom function to retrieve random bytes from registers. Rearrange the loop for polling the hardware. Patch #3 Reseed the PRNG after reading 2^16 bytes. Simmilar approach is implemented in DRBG. (Thanks Stephan Mueller) Patch #4 Introduce locking to prevent simultaneous access to the hardware from more than one thread/process. Changes since v1: - Added Patch #4. - Extended commit message for patch #3. - Changed exynos_prng_type enum and a define according to Krzysztof Kozłowski's recommendations. - Brought back cpu_relax() in a rearranged loop in exynos_rng_get_random(). - Moved an assignment of the read valuea away from an error path. - Removed dev_info() reporting hardware presence from exynos_rng_probe(). Łukasz Stelmach (4): crypto: exynos - Support Exynos5250+ SoCs crypto: exynos - Improve performance of PRNG crypto: exynos - Reseed PRNG after generating 2^16 random bytes crypto: exynos - Introduce mutex to prevent concurrent access to hardware .../bindings/crypto/samsung,exynos-rng4.txt | 4 +- drivers/crypto/exynos-rng.c | 104 +++++++++++++-------- 2 files changed, 70 insertions(+), 38 deletions(-) -- 2.11.0