drm/i915/gt: Cancel banned contexts after GT reset
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 4 Mar 2020 16:51:13 +0000 (16:51 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 4 Mar 2020 20:28:02 +0000 (20:28 +0000)
As we started marking the ce->gem_context as NULL on closure, we can no
longer use that to carry closure information. Instead, we can look at
whether the context was killed on closure instead.

Fixes: 130a95e9098e ("drm/i915/gem: Consolidate ctx->engines[] release")
Closes: https://gitlab.freedesktop.org/drm/intel/issues/1379
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200304165113.2449213-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_reset.c

index 10ad816b32e2a86a3f84cc96e2ce955ef5fd97f1..8b170c1876b33a18a59ac3f634ac7940880ae2f4 100644 (file)
@@ -94,13 +94,7 @@ static bool mark_guilty(struct i915_request *rq)
                ctx = NULL;
        rcu_read_unlock();
        if (!ctx)
-               return false;
-
-       if (i915_gem_context_is_closed(ctx)) {
-               intel_context_set_banned(rq->context);
-               banned = true;
-               goto out;
-       }
+               return intel_context_is_banned(rq->context);
 
        atomic_inc(&ctx->guilty_count);