]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Force reset on unready engine
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Mon, 13 Aug 2018 13:01:16 +0000 (16:01 +0300)
committerMika Kuoppala <mika.kuoppala@linux.intel.com>
Mon, 13 Aug 2018 14:00:00 +0000 (17:00 +0300)
commit34b455ae2759bf70ff6697bc0fbee502bb3690e9
tree5f7faf8058872c0e82f1ccb9dfc398f28a25aeb8
parent619ad84bfad1a496d29848c9864a27b3f5ab135e
drm/i915: Force reset on unready engine

If engine reports that it is not ready for reset, we
give up. Evidence shows that forcing a per engine reset
on an engine which is not reporting to be ready for reset,
can bring it back into a working order. There is risk that
we corrupt the context image currently executing on that
engine. But that is a risk worth taking as if we unblock
the engine, we prevent a whole device wedging in a case
of full gpu reset.

Reset individual engine even if it reports that it is not
prepared for reset, but only if we aim for full gpu reset
and not on first reset attempt.

v2: force reset only on later attempts, readability (Chris)
v3: simplify with adequate caffeine levels (Chris)
v4: comment about risks and migitations (Chris)

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