From c6f65e1a4381a2271de1b5dccc94d6c6faad26dc Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Wed, 2 Jun 2010 17:48:22 +0300 Subject: [PATCH] OMAP: DSS2: VENC: make 20ms venc bug-fix sleep optional There's a 20ms sleep after VENC reset. It's unknown what bug this circumvents and on what platforms. Add a Kconfig option to disable the sleep. Signed-off-by: Tomi Valkeinen --- drivers/video/omap2/dss/Kconfig | 12 ++++++++++++ drivers/video/omap2/dss/venc.c | 3 +++ 2 files changed, 15 insertions(+) diff --git a/drivers/video/omap2/dss/Kconfig b/drivers/video/omap2/dss/Kconfig index 458cfe128103..5b45c0c33e1c 100644 --- a/drivers/video/omap2/dss/Kconfig +++ b/drivers/video/omap2/dss/Kconfig @@ -136,4 +136,16 @@ config OMAP2_DSS_SLEEP_BEFORE_RESET However, 50ms is quite long time to sleep, and with some configurations the SYNC_LOST may never happen, so the sleep can be disabled here. + +config OMAP2_DSS_SLEEP_AFTER_VENC_RESET + bool "Sleep 20ms after VENC reset" + default y + help + There is a 20ms sleep after VENC reset which seemed to fix the + reset. The reason for the bug is unclear, and it's also unclear + on what platforms this happens. + + This option enables the sleep, and is enabled by default. You can + disable the sleep if it doesn't cause problems on your platform. + endif diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c index 3269301dc471..d5d4c5af9069 100644 --- a/drivers/video/omap2/dss/venc.c +++ b/drivers/video/omap2/dss/venc.c @@ -373,8 +373,11 @@ static void venc_reset(void) } } +#ifdef CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET /* the magical sleep that makes things work */ + /* XXX more info? What bug this circumvents? */ msleep(20); +#endif } static void venc_enable_clocks(int enable) -- 2.34.1