}
 }
 
+static inline void
+logical_ring_default_irqs(struct intel_engine_cs *ring, unsigned shift)
+{
+       ring->irq_enable_mask = GT_RENDER_USER_INTERRUPT << shift;
+       ring->irq_keep_mask = GT_CONTEXT_SWITCH_INTERRUPT << shift;
+}
+
 static int
 logical_ring_init(struct drm_device *dev, struct intel_engine_cs *ring)
 {
        ring->name = "render ring";
        ring->id = RCS;
        ring->mmio_base = RENDER_RING_BASE;
-       ring->irq_enable_mask =
-               GT_RENDER_USER_INTERRUPT << GEN8_RCS_IRQ_SHIFT;
-       ring->irq_keep_mask =
-               GT_CONTEXT_SWITCH_INTERRUPT << GEN8_RCS_IRQ_SHIFT;
+
+       logical_ring_default_irqs(ring, GEN8_RCS_IRQ_SHIFT);
        if (HAS_L3_DPF(dev))
                ring->irq_keep_mask |= GT_RENDER_L3_PARITY_ERROR_INTERRUPT;
 
        ring->name = "bsd ring";
        ring->id = VCS;
        ring->mmio_base = GEN6_BSD_RING_BASE;
-       ring->irq_enable_mask =
-               GT_RENDER_USER_INTERRUPT << GEN8_VCS1_IRQ_SHIFT;
-       ring->irq_keep_mask =
-               GT_CONTEXT_SWITCH_INTERRUPT << GEN8_VCS1_IRQ_SHIFT;
 
+       logical_ring_default_irqs(ring, GEN8_VCS1_IRQ_SHIFT);
        logical_ring_default_vfuncs(dev, ring);
 
        return logical_ring_init(dev, ring);
        ring->name = "bds2 ring";
        ring->id = VCS2;
        ring->mmio_base = GEN8_BSD2_RING_BASE;
-       ring->irq_enable_mask =
-               GT_RENDER_USER_INTERRUPT << GEN8_VCS2_IRQ_SHIFT;
-       ring->irq_keep_mask =
-               GT_CONTEXT_SWITCH_INTERRUPT << GEN8_VCS2_IRQ_SHIFT;
 
+       logical_ring_default_irqs(ring, GEN8_VCS2_IRQ_SHIFT);
        logical_ring_default_vfuncs(dev, ring);
 
        return logical_ring_init(dev, ring);
        ring->name = "blitter ring";
        ring->id = BCS;
        ring->mmio_base = BLT_RING_BASE;
-       ring->irq_enable_mask =
-               GT_RENDER_USER_INTERRUPT << GEN8_BCS_IRQ_SHIFT;
-       ring->irq_keep_mask =
-               GT_CONTEXT_SWITCH_INTERRUPT << GEN8_BCS_IRQ_SHIFT;
 
+       logical_ring_default_irqs(ring, GEN8_BCS_IRQ_SHIFT);
        logical_ring_default_vfuncs(dev, ring);
 
        return logical_ring_init(dev, ring);
        ring->name = "video enhancement ring";
        ring->id = VECS;
        ring->mmio_base = VEBOX_RING_BASE;
-       ring->irq_enable_mask =
-               GT_RENDER_USER_INTERRUPT << GEN8_VECS_IRQ_SHIFT;
-       ring->irq_keep_mask =
-               GT_CONTEXT_SWITCH_INTERRUPT << GEN8_VECS_IRQ_SHIFT;
 
+       logical_ring_default_irqs(ring, GEN8_VECS_IRQ_SHIFT);
        logical_ring_default_vfuncs(dev, ring);
 
        return logical_ring_init(dev, ring);