drm/i915: Protect our local workers against I915_FENCE_TIMEOUT
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 26 Aug 2019 07:21:27 +0000 (08:21 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 28 Aug 2019 17:17:53 +0000 (18:17 +0100)
Trust our own workers to not cause unnecessary delays and disable the
automatic timeout on their asynchronous fence waits. (Along the same
lines that we trust our own requests to complete eventually, if
necessary by force.)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190826072149.9447-6-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_request.c

index 18865ce04e1303dacd28e88b423041b923456251..754a78364a633bf696fd1ce25985469557472c93 100644 (file)
@@ -924,7 +924,7 @@ i915_request_await_dma_fence(struct i915_request *rq, struct dma_fence *fence)
                        ret = i915_request_await_request(rq, to_request(fence));
                else
                        ret = i915_sw_fence_await_dma_fence(&rq->submit, fence,
-                                                           I915_FENCE_TIMEOUT,
+                                                           fence->context ? I915_FENCE_TIMEOUT : 0,
                                                            I915_FENCE_GFP);
                if (ret < 0)
                        return ret;