aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_atomic_helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_atomic_helper.c')
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index fa95f9974f6d..bc9fc9665614 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1460,6 +1460,9 @@ void drm_atomic_helper_wait_for_flip_done(struct drm_device *dev,
1460 DRM_ERROR("[CRTC:%d:%s] flip_done timed out\n", 1460 DRM_ERROR("[CRTC:%d:%s] flip_done timed out\n",
1461 crtc->base.id, crtc->name); 1461 crtc->base.id, crtc->name);
1462 } 1462 }
1463
1464 if (old_state->fake_commit)
1465 complete_all(&old_state->fake_commit->flip_done);
1463} 1466}
1464EXPORT_SYMBOL(drm_atomic_helper_wait_for_flip_done); 1467EXPORT_SYMBOL(drm_atomic_helper_wait_for_flip_done);
1465 1468
@@ -2217,8 +2220,10 @@ void drm_atomic_helper_commit_cleanup_done(struct drm_atomic_state *old_state)
2217 spin_unlock(&crtc->commit_lock); 2220 spin_unlock(&crtc->commit_lock);
2218 } 2221 }
2219 2222
2220 if (old_state->fake_commit) 2223 if (old_state->fake_commit) {
2221 complete_all(&old_state->fake_commit->cleanup_done); 2224 complete_all(&old_state->fake_commit->cleanup_done);
2225 WARN_ON(!try_wait_for_completion(&old_state->fake_commit->hw_done));
2226 }
2222} 2227}
2223EXPORT_SYMBOL(drm_atomic_helper_commit_cleanup_done); 2228EXPORT_SYMBOL(drm_atomic_helper_commit_cleanup_done);
2224 2229