summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_engine_cs.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-10-07 07:53:26 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-10-07 08:27:23 +0100
commitad07dfcddf1394e6fed094e7fb426b4242a6814e (patch)
tree60122b41d94bebe6120feaad0719abc9c85433cc /drivers/gpu/drm/i915/intel_engine_cs.c
parentd7f7633557503bd231347d8896b9a6fb08f84e00 (diff)
downloadop-kernel-dev-ad07dfcddf1394e6fed094e7fb426b4242a6814e.zip
op-kernel-dev-ad07dfcddf1394e6fed094e7fb426b4242a6814e.tar.gz
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
Diffstat (limited to 'drivers/gpu/drm/i915/intel_engine_cs.c')
-rw-r--r--drivers/gpu/drm/i915/intel_engine_cs.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index d00ec80..480584c 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -210,9 +210,6 @@ void intel_engine_init_seqno(struct intel_engine_cs *engine, u32 seqno)
void intel_engine_init_hangcheck(struct intel_engine_cs *engine)
{
memset(&engine->hangcheck, 0, sizeof(engine->hangcheck));
- clear_bit(engine->id, &engine->i915->gpu_error.missed_irq_rings);
- if (intel_engine_has_waiter(engine))
- i915_queue_hangcheck(engine->i915);
}
static void intel_engine_init_requests(struct intel_engine_cs *engine)
@@ -307,18 +304,6 @@ int intel_engine_init_common(struct intel_engine_cs *engine)
return 0;
}
-void intel_engine_reset_irq(struct intel_engine_cs *engine)
-{
- struct drm_i915_private *dev_priv = engine->i915;
-
- spin_lock_irq(&dev_priv->irq_lock);
- if (intel_engine_has_waiter(engine))
- engine->irq_enable(engine);
- else
- engine->irq_disable(engine);
- spin_unlock_irq(&dev_priv->irq_lock);
-}
-
/**
* intel_engines_cleanup_common - cleans up the engine state created by
* the common initiailizers.
OpenPOWER on IntegriCloud