OSDN Git Service

drm/i915: Actually flush interrupts on reset not just wedging
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 23 Mar 2018 10:18:24 +0000 (10:18 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 23 Mar 2018 17:03:24 +0000 (17:03 +0000)
commit46b3617dfec875c1414c6ccbfcab371c97735562
tree9e7bee5e17e9c08633e3fa8ba81e6606182e3089
parent8c650aefb82d559aa0e1b7c0c36346b906481106
drm/i915: Actually flush interrupts on reset not just wedging

Commit 0f36a85c3bd5 ("drm/i915: Flush pending interrupt following a GPU
reset") got confused and only applied the flush to the set-wedge path
(which itself is proving troublesome), but we also need the
serialisation on the regular reset path. Oops.

Move the interrupt into reset_irq() and make it common to the reset and
final set-wedge.

v2: reset_irq() after port cancellation, as we assert that
execlists->active is sane for cancellation (and is being reset by
reset_irq).

References: 0f36a85c3bd5 ("drm/i915: Flush pending interrupt following a GPU reset")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: MichaƂ Winiarski <michal.winiarski@intel.com>
Cc: Jeff McGee <jeff.mcgee@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180323101824.14645-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_lrc.c