| From 6d4a858d6f7db2a86f6513a543feb8f7b8a8b4c1 Mon Sep 17 00:00:00 2001 |
| From: "Mingming.Su" <Mingming.Su@mediatek.com> |
| Date: Wed, 30 Jun 2021 16:59:32 +0800 |
| Subject: [PATCH] mt7986: trng: add rng support |
| |
| 1. Add trng compatible name for MT7986 |
| 2. Fix mtk_rng_wait_ready() function |
| |
| Signed-off-by: Mingming.Su <Mingming.Su@mediatek.com> |
| --- |
| drivers/char/hw_random/mtk-rng.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/char/hw_random/mtk-rng.c b/drivers/char/hw_random/mtk-rng.c |
| index e649be5a5..496adb0a0 100644 |
| --- a/drivers/char/hw_random/mtk-rng.c |
| +++ b/drivers/char/hw_random/mtk-rng.c |
| @@ -22,7 +22,7 @@ |
| #define RNG_AUTOSUSPEND_TIMEOUT 100 |
| |
| #define USEC_POLL 2 |
| -#define TIMEOUT_POLL 20 |
| +#define TIMEOUT_POLL 60 |
| |
| #define RNG_CTRL 0x00 |
| #define RNG_EN BIT(0) |
| @@ -77,7 +77,7 @@ static bool mtk_rng_wait_ready(struct hwrng *rng, bool wait) |
| readl_poll_timeout_atomic(priv->base + RNG_CTRL, ready, |
| ready & RNG_READY, USEC_POLL, |
| TIMEOUT_POLL); |
| - return !!ready; |
| + return !!(ready & RNG_READY); |
| } |
| |
| static int mtk_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) |
| @@ -181,6 +181,7 @@ static UNIVERSAL_DEV_PM_OPS(mtk_rng_pm_ops, mtk_rng_runtime_suspend, |
| #endif /* CONFIG_PM */ |
| |
| static const struct of_device_id mtk_rng_match[] = { |
| + { .compatible = "mediatek,mt7986-rng" }, |
| { .compatible = "mediatek,mt7623-rng" }, |
| {}, |
| }; |
| -- |
| 2.18.0 |
| |