|
@@ -3338,6 +3338,9 @@ static void valleyview_irq_preinstall(struct drm_device *dev)
|
|
{
|
|
{
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
|
|
|
|
|
+ I915_WRITE(VLV_MASTER_IER, 0);
|
|
|
|
+ POSTING_READ(VLV_MASTER_IER);
|
|
|
|
+
|
|
gen5_gt_irq_reset(dev);
|
|
gen5_gt_irq_reset(dev);
|
|
|
|
|
|
spin_lock_irq(&dev_priv->irq_lock);
|
|
spin_lock_irq(&dev_priv->irq_lock);
|
|
@@ -3707,6 +3710,7 @@ static int valleyview_irq_postinstall(struct drm_device *dev)
|
|
spin_unlock_irq(&dev_priv->irq_lock);
|
|
spin_unlock_irq(&dev_priv->irq_lock);
|
|
|
|
|
|
I915_WRITE(VLV_MASTER_IER, MASTER_INTERRUPT_ENABLE);
|
|
I915_WRITE(VLV_MASTER_IER, MASTER_INTERRUPT_ENABLE);
|
|
|
|
+ POSTING_READ(VLV_MASTER_IER);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -3837,6 +3841,7 @@ static void valleyview_irq_uninstall(struct drm_device *dev)
|
|
return;
|
|
return;
|
|
|
|
|
|
I915_WRITE(VLV_MASTER_IER, 0);
|
|
I915_WRITE(VLV_MASTER_IER, 0);
|
|
|
|
+ POSTING_READ(VLV_MASTER_IER);
|
|
|
|
|
|
gen5_gt_irq_reset(dev);
|
|
gen5_gt_irq_reset(dev);
|
|
|
|
|