diff options
| author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-06-15 06:24:26 -0400 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2016-06-15 11:25:36 -0400 |
| commit | 7deef7f1ae5d0bf98c1ec9eb4bc87b29478c2adb (patch) | |
| tree | 5c709e921a4e1eb76a684a22ef274e547d16ae0f /drivers/gpu | |
| parent | 723c3e553051bcb82eb8d8962c04171040068e83 (diff) | |
drm/atomic-helpers: Clear up cleanup_done a bit
It's not obvious at first sight that this is a fastpath, make that
clearer with a goto. Fallout from a discussion with Liviu on irc.
v2: Drop bogus hunks that crept in.
v3: Make it compile.
Cc: Liviu.Dudau@arm.com
Acked-by: Liviu.Dudau@arm.com
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1465986266-2831-1-git-send-email-daniel.vetter@ffwll.ch
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/drm_atomic_helper.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 716aa535eb98..de7fddce3cef 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c | |||
| @@ -1579,11 +1579,8 @@ void drm_atomic_helper_commit_cleanup_done(struct drm_atomic_state *state) | |||
| 1579 | /* commit_list borrows our reference, need to remove before we | 1579 | /* commit_list borrows our reference, need to remove before we |
| 1580 | * clean up our drm_atomic_state. But only after it actually | 1580 | * clean up our drm_atomic_state. But only after it actually |
| 1581 | * completed, otherwise subsequent commits won't stall properly. */ | 1581 | * completed, otherwise subsequent commits won't stall properly. */ |
| 1582 | if (try_wait_for_completion(&commit->flip_done)) { | 1582 | if (try_wait_for_completion(&commit->flip_done)) |
| 1583 | list_del(&commit->commit_entry); | 1583 | goto del_commit; |
| 1584 | spin_unlock(&crtc->commit_lock); | ||
| 1585 | continue; | ||
| 1586 | } | ||
| 1587 | 1584 | ||
| 1588 | spin_unlock(&crtc->commit_lock); | 1585 | spin_unlock(&crtc->commit_lock); |
| 1589 | 1586 | ||
| @@ -1597,6 +1594,7 @@ void drm_atomic_helper_commit_cleanup_done(struct drm_atomic_state *state) | |||
| 1597 | crtc->base.id, crtc->name); | 1594 | crtc->base.id, crtc->name); |
| 1598 | 1595 | ||
| 1599 | spin_lock(&crtc->commit_lock); | 1596 | spin_lock(&crtc->commit_lock); |
| 1597 | del_commit: | ||
| 1600 | list_del(&commit->commit_entry); | 1598 | list_del(&commit->commit_entry); |
| 1601 | spin_unlock(&crtc->commit_lock); | 1599 | spin_unlock(&crtc->commit_lock); |
| 1602 | } | 1600 | } |
