|
Michal Suchanek |
869d40 |
From 978030f054ff97d9079b35f0178e2013918fb316 Mon Sep 17 00:00:00 2001
|
|
Michal Suchanek |
869d40 |
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
|
|
Michal Suchanek |
869d40 |
Date: Thu, 28 Jul 2022 00:32:19 +1000
|
|
Michal Suchanek |
869d40 |
Subject: [PATCH] powerpc/powernv: rename remaining rng powernv_ functions to
|
|
Michal Suchanek |
869d40 |
pnv_
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
References: bsc#1065729
|
|
Michal Suchanek |
869d40 |
Patch-mainline: v6.0-rc1
|
|
Michal Suchanek |
869d40 |
Git-commit: 978030f054ff97d9079b35f0178e2013918fb316
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
The preferred nomenclature is pnv_, not powernv_, but rng.c used
|
|
Michal Suchanek |
869d40 |
powernv_ for some reason, which isn't consistent with the rest. A recent
|
|
Michal Suchanek |
869d40 |
commit added a few pnv_ functions to rng.c, making the file a bit of a
|
|
Michal Suchanek |
869d40 |
mishmash. This commit just replaces the rest of them.
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
Fixes: f3eac426657d ("powerpc/powernv: wire up rng during setup_arch")
|
|
Michal Suchanek |
869d40 |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
Michal Suchanek |
869d40 |
Tested-by: Sachin Sant <sachinp@linux.ibm.com>
|
|
Michal Suchanek |
869d40 |
[mpe: Reorder after bug fix commits]
|
|
Michal Suchanek |
869d40 |
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
|
|
Michal Suchanek |
869d40 |
Link: https://lore.kernel.org/r/20220727143219.2684192-3-mpe@ellerman.id.au
|
|
Michal Suchanek |
869d40 |
Acked-by: Michal Suchanek <msuchanek@suse.de>
|
|
Michal Suchanek |
869d40 |
---
|
|
Michal Suchanek |
869d40 |
arch/powerpc/include/asm/archrandom.h | 2 +-
|
|
Michal Suchanek |
869d40 |
arch/powerpc/platforms/powernv/rng.c | 34 +++++++++++++--------------
|
|
Michal Suchanek |
869d40 |
drivers/char/hw_random/powernv-rng.c | 2 +-
|
|
Michal Suchanek |
869d40 |
3 files changed, 19 insertions(+), 19 deletions(-)
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
diff --git a/arch/powerpc/include/asm/archrandom.h b/arch/powerpc/include/asm/archrandom.h
|
|
Michal Suchanek |
869d40 |
index 258174304904..3af27bb84a3d 100644
|
|
Michal Suchanek |
869d40 |
--- a/arch/powerpc/include/asm/archrandom.h
|
|
Michal Suchanek |
869d40 |
+++ b/arch/powerpc/include/asm/archrandom.h
|
|
Michal Suchanek |
869d40 |
@@ -38,7 +38,7 @@ static inline bool __must_check arch_get_random_seed_int(unsigned int *v)
|
|
Michal Suchanek |
869d40 |
#endif /* CONFIG_ARCH_RANDOM */
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
#ifdef CONFIG_PPC_POWERNV
|
|
Michal Suchanek |
869d40 |
-int powernv_get_random_long(unsigned long *v);
|
|
Michal Suchanek |
869d40 |
+int pnv_get_random_long(unsigned long *v);
|
|
Michal Suchanek |
869d40 |
#endif
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
#endif /* _ASM_POWERPC_ARCHRANDOM_H */
|
|
Michal Suchanek |
869d40 |
diff --git a/arch/powerpc/platforms/powernv/rng.c b/arch/powerpc/platforms/powernv/rng.c
|
|
Michal Suchanek |
869d40 |
index d19305292e1e..196aa70fe043 100644
|
|
Michal Suchanek |
869d40 |
--- a/arch/powerpc/platforms/powernv/rng.c
|
|
Michal Suchanek |
869d40 |
+++ b/arch/powerpc/platforms/powernv/rng.c
|
|
Michal Suchanek |
869d40 |
@@ -21,15 +21,15 @@
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
#define DARN_ERR 0xFFFFFFFFFFFFFFFFul
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
-struct powernv_rng {
|
|
Michal Suchanek |
869d40 |
+struct pnv_rng {
|
|
Michal Suchanek |
869d40 |
void __iomem *regs;
|
|
Michal Suchanek |
869d40 |
void __iomem *regs_real;
|
|
Michal Suchanek |
869d40 |
unsigned long mask;
|
|
Michal Suchanek |
869d40 |
};
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
-static DEFINE_PER_CPU(struct powernv_rng *, powernv_rng);
|
|
Michal Suchanek |
869d40 |
+static DEFINE_PER_CPU(struct pnv_rng *, pnv_rng);
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
-static unsigned long rng_whiten(struct powernv_rng *rng, unsigned long val)
|
|
Michal Suchanek |
869d40 |
+static unsigned long rng_whiten(struct pnv_rng *rng, unsigned long val)
|
|
Michal Suchanek |
869d40 |
{
|
|
Michal Suchanek |
869d40 |
unsigned long parity;
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
@@ -49,7 +49,7 @@ static unsigned long rng_whiten(struct powernv_rng *rng, unsigned long val)
|
|
Michal Suchanek |
869d40 |
return val;
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
-static int powernv_get_random_darn(unsigned long *v)
|
|
Michal Suchanek |
869d40 |
+static int pnv_get_random_darn(unsigned long *v)
|
|
Michal Suchanek |
869d40 |
{
|
|
Michal Suchanek |
869d40 |
unsigned long val;
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
@@ -73,31 +73,31 @@ static int __init initialise_darn(void)
|
|
Michal Suchanek |
869d40 |
return -ENODEV;
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
for (i = 0; i < 10; i++) {
|
|
Michal Suchanek |
869d40 |
- if (powernv_get_random_darn(&val)) {
|
|
Michal Suchanek |
869d40 |
- ppc_md.get_random_seed = powernv_get_random_darn;
|
|
Michal Suchanek |
869d40 |
+ if (pnv_get_random_darn(&val)) {
|
|
Michal Suchanek |
869d40 |
+ ppc_md.get_random_seed = pnv_get_random_darn;
|
|
Michal Suchanek |
869d40 |
return 0;
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
return -EIO;
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
-int powernv_get_random_long(unsigned long *v)
|
|
Michal Suchanek |
869d40 |
+int pnv_get_random_long(unsigned long *v)
|
|
Michal Suchanek |
869d40 |
{
|
|
Michal Suchanek |
869d40 |
- struct powernv_rng *rng;
|
|
Michal Suchanek |
869d40 |
+ struct pnv_rng *rng;
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
if (mfmsr() & MSR_DR) {
|
|
Michal Suchanek |
869d40 |
- rng = get_cpu_var(powernv_rng);
|
|
Michal Suchanek |
869d40 |
+ rng = get_cpu_var(pnv_rng);
|
|
Michal Suchanek |
869d40 |
*v = rng_whiten(rng, in_be64(rng->regs));
|
|
Michal Suchanek |
869d40 |
put_cpu_var(rng);
|
|
Michal Suchanek |
869d40 |
} else {
|
|
Michal Suchanek |
869d40 |
- rng = raw_cpu_read(powernv_rng);
|
|
Michal Suchanek |
869d40 |
+ rng = raw_cpu_read(pnv_rng);
|
|
Michal Suchanek |
869d40 |
*v = rng_whiten(rng, __raw_rm_readq(rng->regs_real));
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
return 1;
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
-EXPORT_SYMBOL_GPL(powernv_get_random_long);
|
|
Michal Suchanek |
869d40 |
+EXPORT_SYMBOL_GPL(pnv_get_random_long);
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
-static __init void rng_init_per_cpu(struct powernv_rng *rng,
|
|
Michal Suchanek |
869d40 |
+static __init void rng_init_per_cpu(struct pnv_rng *rng,
|
|
Michal Suchanek |
869d40 |
struct device_node *dn)
|
|
Michal Suchanek |
869d40 |
{
|
|
Michal Suchanek |
869d40 |
int chip_id, cpu;
|
|
Michal Suchanek |
869d40 |
@@ -107,16 +107,16 @@ static __init void rng_init_per_cpu(struct powernv_rng *rng,
|
|
Michal Suchanek |
869d40 |
pr_warn("No ibm,chip-id found for %pOF.\n", dn);
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
for_each_possible_cpu(cpu) {
|
|
Michal Suchanek |
869d40 |
- if (per_cpu(powernv_rng, cpu) == NULL ||
|
|
Michal Suchanek |
869d40 |
+ if (per_cpu(pnv_rng, cpu) == NULL ||
|
|
Michal Suchanek |
869d40 |
cpu_to_chip_id(cpu) == chip_id) {
|
|
Michal Suchanek |
869d40 |
- per_cpu(powernv_rng, cpu) = rng;
|
|
Michal Suchanek |
869d40 |
+ per_cpu(pnv_rng, cpu) = rng;
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
static __init int rng_create(struct device_node *dn)
|
|
Michal Suchanek |
869d40 |
{
|
|
Michal Suchanek |
869d40 |
- struct powernv_rng *rng;
|
|
Michal Suchanek |
869d40 |
+ struct pnv_rng *rng;
|
|
Michal Suchanek |
869d40 |
struct resource res;
|
|
Michal Suchanek |
869d40 |
unsigned long val;
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
@@ -142,7 +142,7 @@ static __init int rng_create(struct device_node *dn)
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
rng_init_per_cpu(rng, dn);
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
- ppc_md.get_random_seed = powernv_get_random_long;
|
|
Michal Suchanek |
869d40 |
+ ppc_md.get_random_seed = pnv_get_random_long;
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
return 0;
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
@@ -190,7 +190,7 @@ static int __init pnv_rng_late_init(void)
|
|
Michal Suchanek |
869d40 |
if (ppc_md.get_random_seed == pnv_get_random_long_early)
|
|
Michal Suchanek |
869d40 |
pnv_get_random_long_early(&v);
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
- if (ppc_md.get_random_seed == powernv_get_random_long) {
|
|
Michal Suchanek |
869d40 |
+ if (ppc_md.get_random_seed == pnv_get_random_long) {
|
|
Michal Suchanek |
869d40 |
for_each_compatible_node(dn, NULL, "ibm,power-rng")
|
|
Michal Suchanek |
869d40 |
of_platform_device_create(dn, NULL, NULL);
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
diff --git a/drivers/char/hw_random/powernv-rng.c b/drivers/char/hw_random/powernv-rng.c
|
|
Michal Suchanek |
869d40 |
index 8da1d7917bdc..429e956f34e1 100644
|
|
Michal Suchanek |
869d40 |
--- a/drivers/char/hw_random/powernv-rng.c
|
|
Michal Suchanek |
869d40 |
+++ b/drivers/char/hw_random/powernv-rng.c
|
|
Michal Suchanek |
869d40 |
@@ -23,7 +23,7 @@ static int powernv_rng_read(struct hwrng *rng, void *data, size_t max, bool wait
|
|
Michal Suchanek |
869d40 |
buf = (unsigned long *)data;
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
for (i = 0; i < len; i++)
|
|
Michal Suchanek |
869d40 |
- powernv_get_random_long(buf++);
|
|
Michal Suchanek |
869d40 |
+ pnv_get_random_long(buf++);
|
|
Michal Suchanek |
869d40 |
|
|
Michal Suchanek |
869d40 |
return len * sizeof(unsigned long);
|
|
Michal Suchanek |
869d40 |
}
|
|
Michal Suchanek |
869d40 |
--
|
|
Michal Suchanek |
869d40 |
2.35.3
|
|
Michal Suchanek |
869d40 |
|