drm/i915: Stop engines before reset
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Tue, 19 Sep 2017 14:41:28 +0000 (17:41 +0300)
committerMika Kuoppala <mika.kuoppala@intel.com>
Wed, 20 Sep 2017 10:56:05 +0000 (13:56 +0300)
commit87de8d5613a7221abcce0b680b0da3c98b0871c8
treed9c2596452035628fd8363ec04cab1074a124212
parentd81fb7fd9436e81fda67e5bc8ed0713aa28d3db2
drm/i915: Stop engines before reset

On kbl evidence indicates that even if the hardware happily
tells us to proceed with reset, it really isn't ready.
Resetting a freely running batchbuffer after we have ack for readiness,
still can cause a system hang.

We also have similar experiences on older gens. So now
attempt to stop engines before proceeding for reset, on all
gens where we have a gpu reset. This has shown to improve reset
reliability and reduce the risk of losing the machine.

v2: Add fixme for wa (Joonas)

Testcase: igt/prime_busy/hang-* # kbl
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170919144128.25506-1-mika.kuoppala@intel.com
drivers/gpu/drm/i915/intel_uncore.c