aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_request.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2018-03-07 13:42:23 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2018-03-09 14:13:31 +0000
commit36620032ceccb4bf07bbe780a3998e88a585ad69 (patch)
tree12c94ac1425ef05ab6c406f5df8be9c94f0159e1 /drivers/gpu/drm/i915/i915_request.c
parentdrm/i915: Finish the wait-for-wedge by retiring all the inflight requests (diff)
downloadlinux-dev-36620032ceccb4bf07bbe780a3998e88a585ad69.tar.xz
linux-dev-36620032ceccb4bf07bbe780a3998e88a585ad69.zip
drm/i915: Update ring position from request on retiring
When wedged, we do not update the ring->tail as we submit the requests causing us to leak the ring->space upon cleaning up the wedged driver. We can just use the value stored in rq->tail, and keep the submission backend details away from set-wedge. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180307134226.25492-3-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_request.c')
-rw-r--r--drivers/gpu/drm/i915/i915_request.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
index d437beac3969..75c8826c8cae 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -358,7 +358,7 @@ static void advance_ring(struct i915_request *request)
* is just about to be. Either works, if we miss the last two
* noops - they are safe to be replayed on a reset.
*/
- tail = READ_ONCE(request->ring->tail);
+ tail = READ_ONCE(request->tail);
} else {
tail = request->postfix;
}