summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gpu_error.c
diff options
context:
space:
mode:
authorChris Wilson2016-10-28 14:58:49 +0200
committerChris Wilson2016-10-28 21:53:53 +0200
commit65e4760e3920c21073a9d737929dc36df561380f (patch)
treed58292d939b2339d5fdfe3edf8d76cfc5820eb43 /drivers/gpu/drm/i915/i915_gpu_error.c
parentdrm/i915: Wait first for submission, before waiting for request completion (diff)
downloadkernel-qcow2-linux-65e4760e3920c21073a9d737929dc36df561380f.tar.gz
kernel-qcow2-linux-65e4760e3920c21073a9d737929dc36df561380f.tar.xz
kernel-qcow2-linux-65e4760e3920c21073a9d737929dc36df561380f.zip
drm/i915: Introduce a global_seqno for each request
Though we will have multiple timelines, we still have a single timeline of execution. This we can use to provide an execution and retirement order of requests. This keeps tracking execution of requests simple, and vital for preserving a single waiter (i.e. so that we can order the waiters so that only the earliest to wakeup need be woken). To accomplish this we distinguish the seqno used to order requests per-context (external) and that used internally for execution. 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/20161028125858.23563-26-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gpu_error.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gpu_error.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index 12fea57d41fb..9aa197ca6210 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -1176,7 +1176,7 @@ static void record_request(struct drm_i915_gem_request *request,
struct drm_i915_error_request *erq)
{
erq->context = request->ctx->hw_id;
- erq->seqno = request->fence.seqno;
+ erq->seqno = request->global_seqno;
erq->jiffies = request->emitted_jiffies;
erq->head = request->head;
erq->tail = request->tail;