OMAP: DSS2: Check ctx loss count only when starting the first clock
authorTomi Valkeinen <tomi.valkeinen@nokia.com>
Tue, 1 Dec 2009 11:23:25 +0000 (13:23 +0200)
committerTomi Valkeinen <tomi.valkeinen@nokia.com>
Mon, 15 Feb 2010 13:14:43 +0000 (15:14 +0200)
When OMAP PM layer is no-op/debug, the PM layer will increment context
loss count with every call. This resulted DSS2 to restore context
whenever a clock was enabled.

This commit checks the context loss count only when the context actually
could have been lost, ie. when enabling a clock when no clocks had been
previously enabled.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
drivers/video/omap2/dss/core.c

index 5939da9cf021e9192f0ae5fa8b8bae7ccb6d9ea0..72547dfc56b8cb22b6a93dbaf97660612b539ebd 100644 (file)
@@ -289,9 +289,11 @@ static void dss_clk_enable_no_ctx(enum dss_clock clks)
 
 void dss_clk_enable(enum dss_clock clks)
 {
+       bool check_ctx = core.num_clks_enabled == 0;
+
        dss_clk_enable_no_ctx(clks);
 
-       if (cpu_is_omap34xx() && dss_need_ctx_restore())
+       if (check_ctx && cpu_is_omap34xx() && dss_need_ctx_restore())
                restore_all_ctx();
 }