[PATCH 6/6] intr
Chris Wilson
chris at chris-wilson.co.uk
Thu Jun 8 07:17:02 UTC 2017
---
drivers/gpu/drm/i915/intel_display.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 8b3c96da217a..a02ca7445b50 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13306,12 +13306,21 @@ static int intel_atomic_commit(struct drm_device *dev,
i915_sw_fence_commit(&intel_state->commit_ready);
if (!nonblock) {
- i915_sw_fence_wait(&intel_state->commit_ready);
- intel_atomic_commit_tail(state, false);
- intel_atomic_state_wait_for_flips(intel_state);
+ struct i915_sw_fence *fence = &intel_state->commit_ready;
+
+ ret = wait_event_interruptible_timeout(fence->wait,
+ i915_sw_fence_done(fence),
+ 60*HZ);
+ if (ret == 0)
+ ret = -ETIMEDOUT;
+ if (ret > 0) {
+ intel_atomic_commit_tail(state, false);
+ intel_atomic_state_wait_for_flips(intel_state);
+ ret = 0;
+ }
}
- return 0;
+ return ret;
}
static const struct drm_crtc_funcs intel_crtc_funcs = {
--
2.11.0
More information about the Intel-gfx-trybot
mailing list