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 <tomi.valkei...@ti.com>
---
 drivers/video/omap2/dss/Kconfig |   12 ++++++++++++
 drivers/video/omap2/dss/venc.c  |    3 +++
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/drivers/video/omap2/dss/Kconfig b/drivers/video/omap2/dss/Kconfig
index 458cfe1..5b45c0c 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 8e35a5b..8c7af90 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)
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to