diff options
author | Sergey Kibrik <sergiikibrik@ti.com> | 2013-04-25 04:28:15 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-06-17 07:00:56 -0400 |
commit | 595470a7853848cb971d5ee3fed443b1e3aa0d1b (patch) | |
tree | 05e3a86e5e8a049080a7841acc8cf585f3d28196 | |
parent | b0e449ce658c0eacbf7bdc76efe15a65359f63ef (diff) |
OMAPDSS: gracefully disable overlay at error
Disable overlay via ovl->disable() interface, which will
properly set flags in cache and GO bits for managers.
This allows overlay user to re-enable it on next frame,
thus recovering from FIFO underflows.
Signed-off-by: Sergey Kibrik <sergiikibrik@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r-- | drivers/video/omap2/dss/dispc-compat.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/video/omap2/dss/dispc-compat.c b/drivers/video/omap2/dss/dispc-compat.c index 928884c9a0a9..83779c2b292a 100644 --- a/drivers/video/omap2/dss/dispc-compat.c +++ b/drivers/video/omap2/dss/dispc-compat.c | |||
@@ -360,8 +360,7 @@ static void dispc_error_worker(struct work_struct *work) | |||
360 | if (bit & errors) { | 360 | if (bit & errors) { |
361 | DSSERR("FIFO UNDERFLOW on %s, disabling the overlay\n", | 361 | DSSERR("FIFO UNDERFLOW on %s, disabling the overlay\n", |
362 | ovl->name); | 362 | ovl->name); |
363 | dispc_ovl_enable(ovl->id, false); | 363 | ovl->disable(ovl); |
364 | dispc_mgr_go(ovl->manager->id); | ||
365 | msleep(50); | 364 | msleep(50); |
366 | } | 365 | } |
367 | } | 366 | } |