[PATCH 71/72] imx-drm: ipuv3-crtc: Disable overlay plane during crtc disable
Steve Longerbeam
slongerbeam at gmail.com
Fri Oct 31 15:54:54 PDT 2014
If the overlay exists and is enabled, it must be disabled before
stopping the DI, otherwise DI synchronous display errors are the
result.
Signed-off-by: Steve Longerbeam <steve_longerbeam at mentor.com>
---
drivers/staging/imx-drm/ipuv3-crtc.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/staging/imx-drm/ipuv3-crtc.c b/drivers/staging/imx-drm/ipuv3-crtc.c
index 7d5b691..b49d1b2 100644
--- a/drivers/staging/imx-drm/ipuv3-crtc.c
+++ b/drivers/staging/imx-drm/ipuv3-crtc.c
@@ -138,6 +138,14 @@ static void ipu_fb_disable(struct ipu_crtc *ipu_crtc)
if (!ipu_crtc->enabled)
return;
+ /*
+ * If the overlay exists and is enabled, it must be disabled
+ * before stopping the DI, otherwise DI synchronous display
+ * errors are the result.
+ */
+ if (ipu_crtc->have_overlay && ipu_crtc->plane[1].enabled)
+ ipu_plane_disable(&ipu_crtc->plane[1]);
+
/* Stop DC channel and DI before IDMAC */
ipu_dc_disable_channel(ipu_crtc->dc);
ipu_di_disable(ipu_crtc->di);
--
1.7.9.5
More information about the dri-devel
mailing list