405-v6.2-mt7986-trng-add-rng-support.patch 1.3 KB

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