OMAPDSS: fix registering the vsync isr in apply
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 10 Aug 2012 11:17:47 +0000 (14:17 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 18 Oct 2012 10:11:10 +0000 (13:11 +0300)
When we enable an output we don't check if we need to register the vsync
isr. This causes us to miss vsync interrupts until somebody changes the
configuration of an overlay or an overlay manager.

Add the registration to dss_mgr_enable to fix the problem.

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

index e923d9f90ee62f673d55c29bc001ebf3a94b0f25..e85ec05238ab312bd35eccaed883e0d3723c8166 100644 (file)
@@ -1035,6 +1035,9 @@ int dss_mgr_enable(struct omap_overlay_manager *mgr)
        if (!mgr_manual_update(mgr))
                mp->updating = true;
 
+       if (!dss_data.irq_enabled && need_isr())
+               dss_register_vsync_isr();
+
        spin_unlock_irqrestore(&data_lock, flags);
 
        if (!mgr_manual_update(mgr))