OSDN Git Service

drm/i915/execlists: Pause CS flow before reset
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 31 Mar 2020 09:14:57 +0000 (10:14 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 31 Mar 2020 20:42:12 +0000 (21:42 +0100)
Since we may be attempting to reset an active engine, we try to freeze
it in place before resetting -- to be on the safe side. We can go one
step further if we are using the CS flow semaphore to prevent the
context switching into the next.

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/20200331091459.29179-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c

index 93931ae..3479cda 100644 (file)
@@ -3683,6 +3683,7 @@ static void execlists_reset_prepare(struct intel_engine_cs *engine)
         *
         * FIXME: Wa for more modern gens needs to be validated
         */
+       ring_set_paused(engine, 1);
        intel_engine_stop_cs(engine);
 }