diff options
author | Philipp Zabel <p.zabel@pengutronix.de> | 2017-02-24 12:38:08 -0500 |
---|---|---|
committer | Philipp Zabel <p.zabel@pengutronix.de> | 2018-11-05 08:56:04 -0500 |
commit | 97c78f4d07e5033717c08b650462b3087ecfe8e8 (patch) | |
tree | 0181e43b38c741792349c01d397c7a542950fc97 | |
parent | 815b02e3c05dcfae759a96903025beb5dab85f97 (diff) |
drm/imx: ipuv3-plane: add IDMAC timeout warning
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.zabel@pengutronix.de>
-rw-r--r-- | drivers/gpu/drm/imx/ipuv3-plane.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3-plane.c index 9db833b68813..c390924de93d 100644 --- a/drivers/gpu/drm/imx/ipuv3-plane.c +++ b/drivers/gpu/drm/imx/ipuv3-plane.c | |||
@@ -228,9 +228,15 @@ static void ipu_plane_enable(struct ipu_plane *ipu_plane) | |||
228 | 228 | ||
229 | void ipu_plane_disable(struct ipu_plane *ipu_plane, bool disable_dp_channel) | 229 | void ipu_plane_disable(struct ipu_plane *ipu_plane, bool disable_dp_channel) |
230 | { | 230 | { |
231 | int ret; | ||
232 | |||
231 | DRM_DEBUG_KMS("[%d] %s\n", __LINE__, __func__); | 233 | DRM_DEBUG_KMS("[%d] %s\n", __LINE__, __func__); |
232 | 234 | ||
233 | ipu_idmac_wait_busy(ipu_plane->ipu_ch, 50); | 235 | ret = ipu_idmac_wait_busy(ipu_plane->ipu_ch, 50); |
236 | if (ret == -ETIMEDOUT) { | ||
237 | DRM_ERROR("[PLANE:%d] IDMAC timeout\n", | ||
238 | ipu_plane->base.base.id); | ||
239 | } | ||
234 | 240 | ||
235 | if (ipu_plane->dp && disable_dp_channel) | 241 | if (ipu_plane->dp && disable_dp_channel) |
236 | ipu_dp_disable_channel(ipu_plane->dp, false); | 242 | ipu_dp_disable_channel(ipu_plane->dp, false); |