[Intel-gfx] [PATCH] drm/i915: Check for timeout completion when waiting for the rq to submitted

Chris Wilson chris at chris-wilson.co.uk
Wed Feb 8 16:54:49 UTC 2017


We first wait for a request to be submitted to hw and assigned a seqno,
before we can wait for the hw to signal completion (otherwise we don't
know the hw id we need to wait upon). Whilst waiting for the request to
be submitted, we may exceed the user's timeout and need to propagate the
error back.

Reported-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Fixes: 4680816be336 ("drm/i915: Wait first for submission, before waiting for request completion")
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Cc: <drm-intel-fixes at lists.freedesktop.org> # v4.10-rc1+
---
 drivers/gpu/drm/i915/i915_gem_request.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem_request.c b/drivers/gpu/drm/i915/i915_gem_request.c
index 72b7f7d9461d..69aff559cf8e 100644
--- a/drivers/gpu/drm/i915/i915_gem_request.c
+++ b/drivers/gpu/drm/i915/i915_gem_request.c
@@ -1084,6 +1084,9 @@ long i915_wait_request(struct drm_i915_gem_request *req,
 		if (timeout < 0)
 			goto complete;
 
+		if (!timeout)
+			return -ETIME;
+
 		GEM_BUG_ON(!i915_sw_fence_done(&req->execute));
 	}
 	GEM_BUG_ON(!i915_sw_fence_done(&req->submit));
-- 
2.11.0



More information about the Intel-gfx mailing list