summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Gordon <david.s.gordon@intel.com>2015-10-19 14:58:15 +0100
committerJohn Harrison <John.C.Harrison@Intel.com>2016-06-28 17:19:17 +0100
commit0ef15fd7e806ad1884d0371a83cd3c610da91781 (patch)
tree654baf8c08aff1da7b30f1df32a6e807ae864f39
parentf41ecccac660b359474e896fd2d6bcfc0a93ecd9 (diff)
drm/i915/error: capture errored context based on request context-id
Context capture hasn't worked for a while now, probably since the introduction of execlists; this patch makes it work again by using a different way of identifying the context of interest. For: VIZ-2021 Signed-off-by: Dave Gordon <david.s.gordon@intel.com>
-rw-r--r--drivers/gpu/drm/i915/i915_gpu_error.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index 8a45b87e1afe..bdb91b251bff 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -1117,13 +1117,12 @@ static void i915_gem_record_active_context(struct intel_engine_cs *engine,
continue;
}
- if (!error->ccid)
- continue;
-
if (i915.enable_execlists)
base += LRC_PPHWSP_PN * PAGE_SIZE;
- if (base == (error->ccid & PAGE_MASK))
+ if (error->ccid && base == (error->ccid & PAGE_MASK))
+ ering->ctx = i915_error_ggtt_object_create(dev_priv, obj);
+ else if (((base ^ ering->ctx_desc) & 0x00000000FFFFF000ULL) == 0)
ering->ctx = i915_error_ggtt_object_create(dev_priv, obj);
}
}