diff options
Diffstat (limited to 'drivers/gpu/drm/drm_atomic_helper.c')
-rw-r--r-- | drivers/gpu/drm/drm_atomic_helper.c | 7 |
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 | } |
1464 | EXPORT_SYMBOL(drm_atomic_helper_wait_for_flip_done); | 1467 | EXPORT_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 | } |
2223 | EXPORT_SYMBOL(drm_atomic_helper_commit_cleanup_done); | 2228 | EXPORT_SYMBOL(drm_atomic_helper_commit_cleanup_done); |
2224 | 2229 | ||