drm/i915: Queue hangcheck when irqs are disabled
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 23 Jan 2017 09:37:24 +0000 (09:37 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 23 Jan 2017 11:19:33 +0000 (11:19 +0000)
Ensure that the hangcheck is queued even in the absence of interrupts.

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

index fcfa423d08bdfb5461f770ebfcdddd02d792e82a..c6fa77177615ebf3a396391012a9a8ee37ae2f72 100644 (file)
@@ -127,6 +127,7 @@ static void __intel_breadcrumbs_enable_irq(struct intel_breadcrumbs *b)
        if (!b->irq_enabled ||
            test_bit(engine->id, &i915->gpu_error.missed_irq_rings)) {
                mod_timer(&b->fake_irq, jiffies + 1);
+               i915_queue_hangcheck(i915);
        } else {
                /* Ensure we never sleep indefinitely */
                GEM_BUG_ON(!time_after(b->timeout, jiffies));