drm/i915/gt: Push engine stopping into reset-prepare
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 16 Jul 2019 12:49:28 +0000 (13:49 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 17 Jul 2019 17:47:00 +0000 (18:47 +0100)
commitc30d5dc653cbc78f9b634b7b72e25057a68c527c
tree38dcd8e845d21865118c5b84b372e16f635e8a0f
parentfff8102aaed59014cb2d8034bdca231185496b16
drm/i915/gt: Push engine stopping into reset-prepare

Push the engine stop into the back reset_prepare (where it already was!)
This allows us to avoid dangerously setting the RING registers to 0 for
logical contexts. If we clear the register on a live context, those
invalid register values are recorded in the logical context state and
replayed (with hilarious results).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190716124931.5870-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c
drivers/gpu/drm/i915/gt/intel_reset.c
drivers/gpu/drm/i915/gt/intel_ringbuffer.c