OMAP: DSS2: VENC: make 20ms venc bug-fix sleep optional
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 2 Jun 2010 14:48:22 +0000 (17:48 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 11 May 2011 11:19:23 +0000 (14:19 +0300)
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.valkeinen@ti.com>
drivers/video/omap2/dss/Kconfig
drivers/video/omap2/dss/venc.c

index 458cfe128103c1488ae6e67d8d791fc5f98c0303..5b45c0c33e1c7efc6800d1ef4f8a58292d8319e6 100644 (file)
@@ -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
index 3269301dc4717fcfdf1a0cec5911fa8f3e52c5c5..d5d4c5af90697f8c5efdde33e62a3adc1e9382a1 100644 (file)
@@ -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)