mediatek: copy patches-6.1 to patches-6.6
[openwrt/staging/981213.git] / target / linux / mediatek / patches-6.6 / 405-v6.2-mt7986-trng-add-rng-support.patch
1 From f1da27b7c4191f78ed81d3dabf64c769f896296c Mon Sep 17 00:00:00 2001
2 From: "Mingming.Su" <Mingming.Su@mediatek.com>
3 Date: Sat, 8 Oct 2022 18:45:53 +0200
4 Subject: [PATCH] hwrng: mtk - add mt7986 support
5
6 1. Add trng compatible name for MT7986
7 2. Fix mtk_rng_wait_ready() function
8
9 Signed-off-by: Mingming.Su <Mingming.Su@mediatek.com>
10 Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
11 Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
12 ---
13 drivers/char/hw_random/mtk-rng.c | 5 +++--
14 1 file changed, 3 insertions(+), 2 deletions(-)
15
16 --- a/drivers/char/hw_random/mtk-rng.c
17 +++ b/drivers/char/hw_random/mtk-rng.c
18 @@ -22,7 +22,7 @@
19 #define RNG_AUTOSUSPEND_TIMEOUT 100
20
21 #define USEC_POLL 2
22 -#define TIMEOUT_POLL 20
23 +#define TIMEOUT_POLL 60
24
25 #define RNG_CTRL 0x00
26 #define RNG_EN BIT(0)
27 @@ -77,7 +77,7 @@ static bool mtk_rng_wait_ready(struct hw
28 readl_poll_timeout_atomic(priv->base + RNG_CTRL, ready,
29 ready & RNG_READY, USEC_POLL,
30 TIMEOUT_POLL);
31 - return !!ready;
32 + return !!(ready & RNG_READY);
33 }
34
35 static int mtk_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait)
36 @@ -179,6 +179,7 @@ static const struct dev_pm_ops mtk_rng_p
37 #endif /* CONFIG_PM */
38
39 static const struct of_device_id mtk_rng_match[] = {
40 + { .compatible = "mediatek,mt7986-rng" },
41 { .compatible = "mediatek,mt7623-rng" },
42 {},
43 };