Skip to content
Snippets Groups Projects
  1. Apr 28, 2018
  2. Jan 18, 2018
  3. Dec 22, 2017
  4. Apr 21, 2017
    • Krzysztof Kozlowski's avatar
      crypto: exynos - Add new Exynos RNG driver · c46ea13f
      Krzysztof Kozlowski authored
      
      Replace existing hw_ranndom/exynos-rng driver with a new, reworked one.
      This is a driver for pseudo random number generator block which on
      Exynos4 chipsets must be seeded with some value.  On newer Exynos5420
      chipsets it might seed itself from true random number generator block
      but this is not implemented yet.
      
      New driver is a complete rework to use the crypto ALGAPI instead of
      hw_random API.  Rationale for the change:
      1. hw_random interface is for true RNG devices.
      2. The old driver was seeding itself with jiffies which is not a
         reliable source for randomness.
      3. Device generates five random 32-bit numbers in each pass but old
         driver was returning only one 32-bit number thus its performance was
         reduced.
      
      Compatibility with DeviceTree bindings is preserved.
      
      New driver does not use runtime power management but manually enables
      and disables the clock when needed.  This is preferred approach because
      using runtime PM just to toggle clock is huge overhead.
      
      Another difference is reseeding itself with generated random data
      periodically and during resuming from system suspend (previously driver
      was re-seeding itself again with jiffies).
      
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Reviewed-by: default avatarStephan Müller <smueller@chronox.de>
      Reviewed-by: default avatarPrasannaKumar Muralidharan <prasannatsmkumar@gmail.com>
      Reviewed-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      c46ea13f
Loading