From: Philipp Zabel
Date: Fri, 21 Jun 2013 08:57:20 +0000 (+0200)
Subject: staging: drm/imx: ipuv3-crtc: immediately update crtc->fb in ipu_page_flip
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1f941ae8977bc34b521c976090dfd0ad24fa91f9;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git
staging: drm/imx: ipuv3-crtc: immediately update crtc->fb in ipu_page_flip
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
Acked-by: Sascha Hauer
Signed-off-by: Greg Kroah-Hartman
---
diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/staging/imx-drm/ipuv3-crtc.c
index abcdaefce8e0..4a7eedfafbdb 100644
--- a/drivers/staging/imx-drm/ipuv3-crtc.c
+++ b/drivers/staging/imx-drm/ipuv3-crtc.c
@@ -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);