aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bmips/patches-5.10/054-hwrng-bcm2835-add-reset-support.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2021-03-14 14:21:48 +0100
committerÁlvaro Fernández Rojas <noltari@gmail.com>2021-03-14 16:21:27 +0100
commit4a81b00a0510d30f1f1e29a76cb0d5fbbe49091c (patch)
tree175c81db3e56dc72ad34ccea408d2154334f7d35 /target/linux/bmips/patches-5.10/054-hwrng-bcm2835-add-reset-support.patch
parente6ba970b6ef2289a2a4d3dd6c0c158ee8d10160f (diff)
downloadupstream-4a81b00a0510d30f1f1e29a76cb0d5fbbe49091c.tar.gz
upstream-4a81b00a0510d30f1f1e29a76cb0d5fbbe49091c.tar.bz2
upstream-4a81b00a0510d30f1f1e29a76cb0d5fbbe49091c.zip
bmips: reorganize patches
Rename and reorganize backported patches. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bmips/patches-5.10/054-hwrng-bcm2835-add-reset-support.patch')
-rw-r--r--target/linux/bmips/patches-5.10/054-hwrng-bcm2835-add-reset-support.patch78
1 files changed, 0 insertions, 78 deletions
diff --git a/target/linux/bmips/patches-5.10/054-hwrng-bcm2835-add-reset-support.patch b/target/linux/bmips/patches-5.10/054-hwrng-bcm2835-add-reset-support.patch
deleted file mode 100644
index 24b74817be..0000000000
--- a/target/linux/bmips/patches-5.10/054-hwrng-bcm2835-add-reset-support.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From e5f9f41d5e62004c913bfd4ddf06abe032f5ce1c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
-Date: Fri, 5 Mar 2021 08:01:32 +0100
-Subject: [PATCH 3/3] hwrng: bcm2835 - add reset support
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-BCM6368 devices need to reset the IPSEC controller in order to generate true
-random numbers.
-
-This is what BCM6368 produces without a reset:
-root@OpenWrt:/# cat /dev/hwrng | rngtest -c 1000
-rngtest 6.10
-Copyright (c) 2004 by Henrique de Moraes Holschuh
-This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-rngtest: starting FIPS tests...
-rngtest: bits received from input: 20000032
-rngtest: FIPS 140-2 successes: 0
-rngtest: FIPS 140-2 failures: 1000
-rngtest: FIPS 140-2(2001-10-10) Monobit: 2
-rngtest: FIPS 140-2(2001-10-10) Poker: 1000
-rngtest: FIPS 140-2(2001-10-10) Runs: 1000
-rngtest: FIPS 140-2(2001-10-10) Long run: 30
-rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
-rngtest: input channel speed: (min=37.253; avg=320.827; max=635.783)Mibits/s
-rngtest: FIPS tests speed: (min=12.141; avg=15.034; max=16.428)Mibits/s
-rngtest: Program run time: 1336176 microseconds
-
-Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
-Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
-Acked-by: Florian Fainelli <f.fainelli@gmail.com>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- drivers/char/hw_random/bcm2835-rng.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/drivers/char/hw_random/bcm2835-rng.c
-+++ b/drivers/char/hw_random/bcm2835-rng.c
-@@ -13,6 +13,7 @@
- #include <linux/platform_device.h>
- #include <linux/printk.h>
- #include <linux/clk.h>
-+#include <linux/reset.h>
-
- #define RNG_CTRL 0x0
- #define RNG_STATUS 0x4
-@@ -32,6 +33,7 @@ struct bcm2835_rng_priv {
- void __iomem *base;
- bool mask_interrupts;
- struct clk *clk;
-+ struct reset_control *reset;
- };
-
- static inline struct bcm2835_rng_priv *to_rng_priv(struct hwrng *rng)
-@@ -94,6 +96,10 @@ static int bcm2835_rng_init(struct hwrng
- return ret;
- }
-
-+ ret = reset_control_reset(priv->reset);
-+ if (ret)
-+ return ret;
-+
- if (priv->mask_interrupts) {
- /* mask the interrupt */
- val = rng_readl(priv, RNG_INT_MASK);
-@@ -159,6 +165,10 @@ static int bcm2835_rng_probe(struct plat
- if (PTR_ERR(priv->clk) == -EPROBE_DEFER)
- return -EPROBE_DEFER;
-
-+ priv->reset = devm_reset_control_get_optional_exclusive(dev, NULL);
-+ if (IS_ERR(priv->reset))
-+ return PTR_ERR(priv->reset);
-+
- priv->rng.name = pdev->name;
- priv->rng.init = bcm2835_rng_init;
- priv->rng.read = bcm2835_rng_read;