@@ -631,9 +631,11 @@ gen6_ring_get_irq(struct intel_ring_buffer *ring, u32 rflag)
spin_lock(&ring->irq_lock);
if (ring->irq_refcount++ == 0) {
+ gen6_gt_force_wake_get(dev_priv);
ring->irq_mask &= ~rflag;
I915_WRITE_IMR(ring, ring->irq_mask);
POSTING_READ(RING_IMR(ring->mmio_base));
+ gen6_gt_force_wake_put(dev_priv);
}
spin_unlock(&ring->irq_lock);
@@ -648,9 +650,11 @@ gen6_ring_put_irq(struct intel_ring_buffer *ring, u32 rflag)
spin_lock(&ring->irq_lock);
if (--ring->irq_refcount == 0) {
+ gen6_gt_force_wake_get(dev_priv);
ring->irq_mask |= rflag;
I915_WRITE_IMR(ring, ring->irq_mask);
POSTING_READ(RING_IMR(ring->mmio_base));
+ gen6_gt_force_wake_put(dev_priv);
}
spin_unlock(&ring->irq_lock);
}