drm/omap: Use old_fb to synchronize between successive page flips
authorArchit Taneja <archit@ti.com>
Fri, 11 Apr 2014 07:23:34 +0000 (12:53 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 15 Apr 2014 10:35:28 +0000 (13:35 +0300)
omap_crtc->old_fb is used to check whether the previous page flip has completed
or not. However, it's never initialized to anything, so it's always NULL. This
results in the check to always succeed, and the page_flip to proceed.

Initialize old_fb to the fb that we intend to flip to through page_flip, and
therefore prevent a future page flip to proceed if the last one didn't
complete.

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/omap_crtc.c

index 46f8e1e..0079824 100644 (file)
@@ -360,7 +360,7 @@ static int omap_crtc_page_flip_locked(struct drm_crtc *crtc,
        }
 
        omap_crtc->event = event;
-       primary->fb = fb;
+       omap_crtc->old_fb = primary->fb = fb;
 
        /*
         * Hold a reference temporarily until the crtc is updated