drm/i915: Set up VLV_MASTER_IER consistently
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 13 Apr 2016 18:19:48 +0000 (21:19 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 14 Apr 2016 11:45:11 +0000 (14:45 +0300)
We're lacking VLV_MASTER_IER setup from valleyview_irq_preinstall(), so
add it there. Also cargo cult in some POSTING_READ()s to match the other
platforms.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1460571598-24452-3-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_irq.c

index f0790fc..b4152f1 100644 (file)
@@ -3338,6 +3338,9 @@ static void valleyview_irq_preinstall(struct drm_device *dev)
 {
        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);
 
        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);
 
        I915_WRITE(VLV_MASTER_IER, MASTER_INTERRUPT_ENABLE);
+       POSTING_READ(VLV_MASTER_IER);
 
        return 0;
 }
@@ -3837,6 +3841,7 @@ static void valleyview_irq_uninstall(struct drm_device *dev)
                return;
 
        I915_WRITE(VLV_MASTER_IER, 0);
+       POSTING_READ(VLV_MASTER_IER);
 
        gen5_gt_irq_reset(dev);