From f8496c893debead6b5a75912946f048ed8c952a2 Mon Sep 17 00:00:00 2001 From: Hoegeun Kwon Date: Wed, 26 Jul 2023 20:32:55 +0900 Subject: [PATCH] soc: sifive: ccache: Add delay after flush Problems with cache flush at resolutions exceeding FUD and with inno hdmi driver. It runs a cache flush and requires a delay. So add delay after cache flush. Change-Id: Id8b1398dcce04851577912e6c1dfd4a2b580a043 Signed-off-by: Hoegeun Kwon --- drivers/soc/sifive/sifive_ccache.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/soc/sifive/sifive_ccache.c b/drivers/soc/sifive/sifive_ccache.c index 79de3179d066..73c39c349d36 100644 --- a/drivers/soc/sifive/sifive_ccache.c +++ b/drivers/soc/sifive/sifive_ccache.c @@ -9,6 +9,9 @@ #define pr_fmt(fmt) "CCACHE: " fmt #include +#ifdef CONFIG_STARFIVE_INNO_HDMI +#include +#endif #include #include #include @@ -159,6 +162,13 @@ void sifive_flush64_range(unsigned long start, unsigned long len) writeq(line, ccache_base + SIFIVE_FLUSH64); mb(); } +#ifdef CONFIG_STARFIVE_INNO_HDMI + /* + * Problems with cache flush at resolutions exceeding FUD. + * It runs a cache flush and requires a delay. + */ + udelay(700); +#endif } EXPORT_SYMBOL_GPL(sifive_flush64_range); #endif -- 2.34.1