OSDN Git Service

drm/i915: Stop overwriting RING_IMR in rcs resume
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 18 Apr 2019 13:27:19 +0000 (14:27 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 18 Apr 2019 16:33:48 +0000 (17:33 +0100)
We store the engine->imr mask and set up the RING_IMR register on
restarting the engine. We do not then want to overwrite it with
an incomplete mask later as we may then lose interrupts!

Reported-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190418132720.3716-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_ringbuffer.c

index 029fd8e..00bd9ee 100644 (file)
@@ -873,9 +873,6 @@ static int init_render_ring(struct intel_engine_cs *engine)
        if (IS_GEN_RANGE(dev_priv, 6, 7))
                I915_WRITE(INSTPM, _MASKED_BIT_ENABLE(INSTPM_FORCE_ORDERING));
 
-       if (INTEL_GEN(dev_priv) >= 6)
-               ENGINE_WRITE(engine, RING_IMR, ~engine->irq_keep_mask);
-
        return 0;
 }