drm/i915: Reset the breadcrumbs IRQ more carefully
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 7 Oct 2016 06:53:26 +0000 (07:53 +0100)
committerJani Nikula <jani.nikula@intel.com>
Mon, 10 Oct 2016 13:06:44 +0000 (16:06 +0300)
commit61a05870b939b9c5551817ad65b74194ea84140c
tree348a09c9f67a196934a3244784ce0996feb5ae43
parentc92fa4fe90256a73975bd1e1c47b60a566b2d037
drm/i915: Reset the breadcrumbs IRQ more carefully

Along with the interrupt, we want to restore the fake-irq and
wait-timeout detection. If we use the breadcrumbs interface to setup the
interrupt as it wants, the auxiliary timers will also be restored.

v2: Cancel both timers as well, sanitize the IMR.

Fixes: 821ed7df6e2a ("drm/i915: Update reset path to fix incomplete requests")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161007065327.24515-3-chris@chris-wilson.co.uk
(cherry picked from commit ad07dfcddf1394e6fed094e7fb426b4242a6814e)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/intel_breadcrumbs.c
drivers/gpu/drm/i915/intel_engine_cs.c
drivers/gpu/drm/i915/intel_lrc.c
drivers/gpu/drm/i915/intel_ringbuffer.c
drivers/gpu/drm/i915/intel_ringbuffer.h