]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/i915: Skip engine serialisation for no-op seqno reset
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 26 Nov 2018 09:56:10 +0000 (09:56 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 27 Nov 2018 13:03:18 +0000 (13:03 +0000)
If the engine's seqno is already at our target seqno (most likely it
hasn't been used since the last reset), we can skip serialising the
engine and leave it as is.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181126095610.20962-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_request.c

index 71107540581dc783af2aac8bce8a1e78763ad00d..ca95ab2f4cfa3bf2c4fed83a7dd67b5f6d1b34f5 100644 (file)
@@ -136,6 +136,9 @@ static int reset_all_global_seqno(struct drm_i915_private *i915, u32 seqno)
                          intel_engine_get_seqno(engine),
                          seqno);
 
+               if (seqno == engine->timeline.seqno)
+                       continue;
+
                kthread_park(engine->breadcrumbs.signaler);
 
                if (!i915_seqno_passed(seqno, engine->timeline.seqno)) {