diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2010-06-02 10:48:22 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-05-11 07:19:23 -0400 |
commit | c6f65e1a4381a2271de1b5dccc94d6c6faad26dc (patch) | |
tree | b7d0a010d55a17e5e78dbf8f2a35f4e3be04f18b /drivers | |
parent | f1aafdcd42ad45a4bda5cb8f4a6782b0e48549ba (diff) |
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 <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/omap2/dss/Kconfig | 12 | ||||
-rw-r--r-- | 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 458cfe12810..5b45c0c33e1 100644 --- a/drivers/video/omap2/dss/Kconfig +++ b/drivers/video/omap2/dss/Kconfig | |||
@@ -136,4 +136,16 @@ config OMAP2_DSS_SLEEP_BEFORE_RESET | |||
136 | However, 50ms is quite long time to sleep, and with some | 136 | However, 50ms is quite long time to sleep, and with some |
137 | configurations the SYNC_LOST may never happen, so the sleep can | 137 | configurations the SYNC_LOST may never happen, so the sleep can |
138 | be disabled here. | 138 | be disabled here. |
139 | |||
140 | config OMAP2_DSS_SLEEP_AFTER_VENC_RESET | ||
141 | bool "Sleep 20ms after VENC reset" | ||
142 | default y | ||
143 | help | ||
144 | There is a 20ms sleep after VENC reset which seemed to fix the | ||
145 | reset. The reason for the bug is unclear, and it's also unclear | ||
146 | on what platforms this happens. | ||
147 | |||
148 | This option enables the sleep, and is enabled by default. You can | ||
149 | disable the sleep if it doesn't cause problems on your platform. | ||
150 | |||
139 | endif | 151 | endif |
diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c index 3269301dc47..d5d4c5af906 100644 --- a/drivers/video/omap2/dss/venc.c +++ b/drivers/video/omap2/dss/venc.c | |||
@@ -373,8 +373,11 @@ static void venc_reset(void) | |||
373 | } | 373 | } |
374 | } | 374 | } |
375 | 375 | ||
376 | #ifdef CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET | ||
376 | /* the magical sleep that makes things work */ | 377 | /* the magical sleep that makes things work */ |
378 | /* XXX more info? What bug this circumvents? */ | ||
377 | msleep(20); | 379 | msleep(20); |
380 | #endif | ||
378 | } | 381 | } |
379 | 382 | ||
380 | static void venc_enable_clocks(int enable) | 383 | static void venc_enable_clocks(int enable) |