Messages in this thread | | | From | Łukasz Stelmach <> | Subject | [PATCH v3 0/4] Assorted changes for Exynos PRNG driver | Date | Tue, 12 Dec 2017 17:36:03 +0100 |
| |
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/10106797/
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 v2:
- Remove changes in the loop polling the status register in exynos_rng_get_random(). Thanks Krzysztof Kozłowski. - Remove the check for valid values of rng->type from exynos_rng_probe(). The function wouldn't be called with values other than mentioned in exynos_rng_dt_match array. - Applied changes to the commit message of patch #3 requested by Stephan Mueller.
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 | 94 ++++++++++++++-------- 2 files changed, 62 insertions(+), 36 deletions(-)
-- 2.11.0
| |