Message ID | 1414796095-10107-72-git-send-email-steve_longerbeam@mentor.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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);
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@mentor.com> --- drivers/staging/imx-drm/ipuv3-crtc.c | 8 ++++++++ 1 file changed, 8 insertions(+)