[PATCH v2 0/4] Assorted changes for Exynos PRNG driver

From: Åukasz Stelmach
Date: Mon Dec 11 2017 - 09:06:51 EST


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