|
@@ -1381,12 +1381,17 @@ static int ironlake_irq_postinstall(struct drm_device *dev)
|
|
|
I915_WRITE(DEIER, dev_priv->de_irq_enable_reg);
|
|
|
(void) I915_READ(DEIER);
|
|
|
|
|
|
- /* user interrupt should be enabled, but masked initial */
|
|
|
+ /* Gen6 only needs render pipe_control now */
|
|
|
+ if (IS_GEN6(dev))
|
|
|
+ render_mask = GT_PIPE_NOTIFY;
|
|
|
+
|
|
|
dev_priv->gt_irq_mask_reg = ~render_mask;
|
|
|
dev_priv->gt_irq_enable_reg = render_mask;
|
|
|
|
|
|
I915_WRITE(GTIIR, I915_READ(GTIIR));
|
|
|
I915_WRITE(GTIMR, dev_priv->gt_irq_mask_reg);
|
|
|
+ if (IS_GEN6(dev))
|
|
|
+ I915_WRITE(GEN6_RENDER_IMR, ~GEN6_RENDER_PIPE_CONTROL_NOTIFY_INTERRUPT);
|
|
|
I915_WRITE(GTIER, dev_priv->gt_irq_enable_reg);
|
|
|
(void) I915_READ(GTIER);
|
|
|
|