projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f4d41d9
)
drm/i915: Handle drm_atomic_helper_swap_state failure
author
Maarten Lankhorst
<
[email protected]
>
Tue, 11 Jul 2017 14:33:07 +0000
(16:33 +0200)
committer
Daniel Vetter
<
[email protected]
>
Wed, 26 Jul 2017 11:22:41 +0000
(13:22 +0200)
drm_atomic_helper_swap_state() will be changed to interruptible waiting
in the next few commits, so all drivers have to be changed to handling
failure.
Signed-off-by: Maarten Lankhorst <
[email protected]
>
Link:
http://patchwork.freedesktop.org/patch/msgid/
[email protected]
Reviewed-by: Sean Paul <
[email protected]
>
Signed-off-by: Daniel Vetter <
[email protected]
>
drivers/gpu/drm/i915/intel_display.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 4e03ca6c946f19e6e428c0ad5362aff029242fff..da5d494075946c82035645f28b94fb9216c1a009 100644
(file)
--- a/
drivers/gpu/drm/i915/intel_display.c
+++ b/
drivers/gpu/drm/i915/intel_display.c
@@
-13271,7
+13271,15
@@
static int intel_atomic_commit(struct drm_device *dev,
if (INTEL_GEN(dev_priv) < 9)
state->legacy_cursor_update = false;
- drm_atomic_helper_swap_state(state, true);
+ ret = drm_atomic_helper_swap_state(state, true);
+ if (ret) {
+ i915_sw_fence_commit(&intel_state->commit_ready);
+
+ mutex_lock(&dev->struct_mutex);
+ drm_atomic_helper_cleanup_planes(dev, state);
+ mutex_unlock(&dev->struct_mutex);
+ return ret;
+ }
dev_priv->wm.distrust_bios_wm = false;
intel_shared_dpll_swap_state(state);
intel_atomic_track_fbs(state);