staging: drm/imx: ipuv3-crtc: immediately update crtc->fb in ipu_page_flip
authorPhilipp Zabel <p.zabel@pengutronix.de>
Fri, 21 Jun 2013 08:57:20 +0000 (10:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Jun 2013 23:01:06 +0000 (16:01 -0700)
Since commit 8cf1e9811471f2910fa38dc1b28e1789080ba961
("drm: Add consistency check for page-flipping") drm_mode_page_flip_ioctl
contains a WARN_ON that triggers if the .page_flip callback didn't update
the crtc->fb pointer to the new framebuffer immediately.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/imx-drm/ipuv3-crtc.c

index abcdaefce8e027380eff0e0b883e8504c2a545aa..4a7eedfafbdba8f7d9eb1a7cefa69b46edfc966d 100644 (file)
@@ -147,6 +147,7 @@ static int ipu_page_flip(struct drm_crtc *crtc,
 
        ipu_crtc->newfb = fb;
        ipu_crtc->page_flip_event = event;
+       crtc->fb = fb;
 
        return 0;
 }
@@ -329,7 +330,6 @@ static irqreturn_t ipu_irq_handler(int irq, void *dev_id)
        imx_drm_handle_vblank(ipu_crtc->imx_crtc);
 
        if (ipu_crtc->newfb) {
-               ipu_crtc->base.fb = ipu_crtc->newfb;
                ipu_crtc->newfb = NULL;
                ipu_drm_set_base(&ipu_crtc->base, 0, 0);
                ipu_crtc_handle_pageflip(ipu_crtc);