linux/arch/powerpc/platforms
Paul Mackerras 01c9348c76 powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_*
The hardware RNG on POWER8 and POWER7+ can be relatively slow, since
it can only supply one 64-bit value per microsecond.  Currently we
read it in arch_get_random_long(), but that slows down reading from
/dev/urandom since the code in random.c calls arch_get_random_long()
for every longword read from /dev/urandom.

Since the hardware RNG supplies high-quality entropy on every read, it
matches the semantics of arch_get_random_seed_long() better than those
of arch_get_random_long().  Therefore this commit makes the code use
the POWER8/7+ hardware RNG only for arch_get_random_seed_{long,int}
and not for arch_get_random_{long,int}.

This won't affect any other PowerPC-based platforms because none of
them currently support a hardware RNG.  To make it clear that the
ppc_md function pointer is used for arch_get_random_seed_*, we rename
it from get_random_long to get_random_seed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-07-23 19:52:03 +10:00
..
8xx powerpc/8xx: Remove Kconfig symbol FADS 2014-11-07 18:10:46 -06:00
40x powerpc: make of_device_ids const 2014-09-25 23:14:46 +10:00
44x powerpc/44x/Akebono: Remove select of IBM_EMAC_RGMII_WOL 2014-12-29 15:45:44 +11:00
52xx powerpc updates for 4.2 2015-06-24 08:46:32 -07:00
82xx powerpc: platforms: 82xx: drop owner assignment from platform_drivers 2014-10-20 16:20:11 +02:00
83xx powerpc: don't use module_init in non-modular 83xx suspend code 2015-06-16 14:12:29 -04:00
85xx powerpc/85xx: p1025twr: add module conditional to fix QE-uart issue 2015-06-02 21:37:29 -05:00
86xx powerpc: make of_device_ids const 2014-09-25 23:14:46 +10:00
512x powerpc: call of_clk_init() from time_init() 2015-01-20 10:09:02 -08:00
amigaone lib/scatterlist: make ARCH_HAS_SG_CHAIN an actual Kconfig 2014-08-08 15:57:26 -07:00
cell Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-07-04 19:36:06 -07:00
chrp powerpc32/chrp: fix section mismatch warning 2015-03-31 19:05:50 +11:00
embedded6xx powerpc: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc 2015-06-02 16:54:44 +10:00
maple powerpc/maple: Move controller ops from ppc_md to controller_ops 2015-04-11 20:49:17 +10:00
pasemi powerpc/iommu: Move tce_xxx callbacks from ppc_md to iommu_table 2015-06-11 15:14:56 +10:00
powermac powerpc/powermac: Fix build error seen with powermac smp builds 2015-04-15 15:52:59 +10:00
powernv powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* 2015-07-23 19:52:03 +10:00
ps3 powerpc: use device_initcall for registering rtc devices 2015-06-16 14:12:29 -04:00
pseries powerpc: Use hardware RNG for arch_get_random_seed_* not arch_get_random_* 2015-07-23 19:52:03 +10:00
fsl_uli1575.c of/irq: Refactor interrupt-map parsing 2013-10-24 11:43:04 +01:00
Kconfig powerpc: Remove the celleb support 2015-04-07 17:15:13 +10:00
Kconfig.cputype powerpc: Little endian should depend on PPC_BOOK3S_64 2015-05-18 16:48:11 +10:00
Makefile powerpc: Remove platforms/wsp and associated pieces 2014-06-11 16:35:38 +10:00