summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem_request.c
diff options
context:
space:
mode:
authorChris Wilson2016-08-05 11:14:24 +0200
committerChris Wilson2016-08-05 11:54:44 +0200
commit209b3f7ed0e865ef0f3ffde3d623703019daeafc (patch)
treef22fc50640a6329654364a9551a3578de56f15d7 /drivers/gpu/drm/i915/i915_gem_request.c
parentdrm/i915: Repack fence tiling mode and stride into a single integer (diff)
downloadkernel-qcow2-linux-209b3f7ed0e865ef0f3ffde3d623703019daeafc.tar.gz
kernel-qcow2-linux-209b3f7ed0e865ef0f3ffde3d623703019daeafc.tar.xz
kernel-qcow2-linux-209b3f7ed0e865ef0f3ffde3d623703019daeafc.zip
drm/i915: Assert that the request hasn't been retired
With all callers now not playing tricks with dropping the struct_mutex between waiting and retiring, we can assert that the request is ready to be retired. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1470388464-28458-19-git-send-email-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_request.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_request.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_request.c b/drivers/gpu/drm/i915/i915_gem_request.c
index 1f91dc8c4171..b317a672040f 100644
--- a/drivers/gpu/drm/i915/i915_gem_request.c
+++ b/drivers/gpu/drm/i915/i915_gem_request.c
@@ -170,7 +170,7 @@ static void i915_gem_request_retire(struct drm_i915_gem_request *request)
struct i915_gem_active *active, *next;
trace_i915_gem_request_retire(request);
- list_del_init(&request->link);
+ list_del(&request->link);
/* We know the GPU must have read the request to have
* sent us the seqno + interrupt, so use the position
@@ -228,9 +228,7 @@ void i915_gem_request_retire_upto(struct drm_i915_gem_request *req)
struct drm_i915_gem_request *tmp;
lockdep_assert_held(&req->i915->drm.struct_mutex);
-
- if (list_empty(&req->link))
- return;
+ GEM_BUG_ON(list_empty(&req->link));
do {
tmp = list_first_entry(&engine->request_list,