summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_request.c
diff options
context:
space:
mode:
authorChris Wilson2018-03-22 12:00:59 +0100
committerChris Wilson2018-03-22 14:50:12 +0100
commit0e59c209f4ccf9f9d505babdb04731294e18c4ed (patch)
tree1b69d17787ea63b42c4770583697fa9ca49eace4 /drivers/gpu/drm/i915/i915_request.c
parentdrm/i915/psr: Remove open-coded PSR AUX transactions for SKL+ (diff)
downloadkernel-qcow2-linux-0e59c209f4ccf9f9d505babdb04731294e18c4ed.tar.gz
kernel-qcow2-linux-0e59c209f4ccf9f9d505babdb04731294e18c4ed.tar.xz
kernel-qcow2-linux-0e59c209f4ccf9f9d505babdb04731294e18c4ed.zip
drm/i915: Fix tracing of submit seqno
We pre-increment the timeline->seqno when handing it to the request, make sure the GEM_TRACE takes this into account. Otherwise, it appears that we go backwards over a preemption point: 1d..1 157681077us : __i915_request_unsubmit: vcs0 fence 75e:3 <- global_seqno 17 0d.s1 157681113us : __i915_request_submit: vcs0 fence 75e:3 -> global_seqno 16 Fixes: d9b13c4dde6c ("drm/i915: Trace GEM steps between submit and wedging") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180322110059.4467-1-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 2325886d1d55..f1b81fe4f9ab 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -501,7 +501,7 @@ void __i915_request_submit(struct i915_request *request)
GEM_TRACE("%s fence %llx:%d -> global_seqno %d\n",
request->engine->name,
request->fence.context, request->fence.seqno,
- engine->timeline->seqno);
+ engine->timeline->seqno + 1);
GEM_BUG_ON(!irqs_disabled());
lockdep_assert_held(&engine->timeline->lock);