diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c index 111fcc465209..4a8ba874ab12 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c @@ -343,9 +343,9 @@ rockchip_drm_atomic_helper_wait_for_vblanks(struct drm_device *dev, s = to_rockchip_crtc_state(crtc->state); - if (!s->mode_update) - WARN(!ret, "[CRTC:%d:%s] state:%d, vblank wait timed out\n", - crtc->base.id, crtc->name, old_crtc_state->active); + if (!s->mode_update && !ret) + DRM_WARN("[CRTC:%d:%s] state:%d, vblank wait timed out\n", + crtc->base.id, crtc->name, old_crtc_state->active); drm_crtc_vblank_put(crtc); s->mode_update = false; diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index a027d2510a00..3ed6531990b1 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -2240,6 +2240,7 @@ static void vop2_crtc_atomic_disable(struct drm_crtc *crtc, { struct vop2_video_port *vp = to_vop2_video_port(crtc); struct vop2 *vop2 = vp->vop2; + int ret; WARN_ON(vp->event); vop2_lock(vop2); @@ -2262,7 +2263,9 @@ static void vop2_crtc_atomic_disable(struct drm_crtc *crtc, spin_unlock(&vop2->reg_lock); - WARN_ON(!wait_for_completion_timeout(&vp->dsp_hold_completion, msecs_to_jiffies(50))); + ret = wait_for_completion_timeout(&vp->dsp_hold_completion, msecs_to_jiffies(50)); + if (!ret) + DRM_DEV_INFO(vop2->dev, "wait for vp%d dsp_hold timeout\n", vp->id); vop2_dsp_hold_valid_irq_disable(crtc);