From: Tomi Valkeinen Date: Wed, 2 Jun 2010 14:48:22 +0000 (+0300) Subject: OMAP: DSS2: VENC: make 20ms venc bug-fix sleep optional X-Git-Tag: firefly_0821_release~7613^2~1156^2~20^2~74 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c6f65e1a4381a2271de1b5dccc94d6c6faad26dc;p=firefly-linux-kernel-4.4.55.git 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 --- 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)