OMAPDSS: gracefully disable overlay at error
authorSergey Kibrik <sergiikibrik@ti.com>
Thu, 25 Apr 2013 08:28:15 +0000 (11:28 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 17 Jun 2013 11:00:56 +0000 (14:00 +0300)
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>
drivers/video/omap2/dss/dispc-compat.c

index 928884c9a0a9b9805fb47c0b80d9d1feac485804..83779c2b292ad466311a235402a4c7564f9f0a14 100644 (file)
@@ -360,8 +360,7 @@ static void dispc_error_worker(struct work_struct *work)
                if (bit & errors) {
                        DSSERR("FIFO UNDERFLOW on %s, disabling the overlay\n",
                                        ovl->name);
-                       dispc_ovl_enable(ovl->id, false);
-                       dispc_mgr_go(ovl->manager->id);
+                       ovl->disable(ovl);
                        msleep(50);
                }
        }