From: Philipp Zabel <p.za...@pengutronix.de>

ipu_plane_disable should never be called while the plane IDMAC channel
is active. The busy wait is just a safety net that should never time
out.

Signed-off-by: Philipp Zabel <p.za...@pengutronix.de>
Signed-off-by: Lucas Stach <l.st...@pengutronix.de>
---
 drivers/gpu/drm/imx/ipuv3-plane.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c 
b/drivers/gpu/drm/imx/ipuv3-plane.c
index c95a2fc51741..23fba068e964 100644
--- a/drivers/gpu/drm/imx/ipuv3-plane.c
+++ b/drivers/gpu/drm/imx/ipuv3-plane.c
@@ -236,9 +236,15 @@ static void ipu_plane_enable(struct ipu_plane *ipu_plane)
 
 void ipu_plane_disable(struct ipu_plane *ipu_plane, bool disable_dp_channel)
 {
+       int ret;
+
        DRM_DEBUG_KMS("[%d] %s\n", __LINE__, __func__);
 
-       ipu_idmac_wait_busy(ipu_plane->ipu_ch, 50);
+       ret = ipu_idmac_wait_busy(ipu_plane->ipu_ch, 50);
+       if (ret == -ETIMEDOUT) {
+               DRM_ERROR("[PLANE:%d] IDMAC timeout\n",
+                         ipu_plane->base.base.id);
+       }
 
        if (ipu_plane->dp && disable_dp_channel)
                ipu_dp_disable_channel(ipu_plane->dp, false);
-- 
2.19.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to