Merge commit 'origin/master' into modesetting-gem
[profile/ivi/libdrm.git] / linux-core / i915_opregion.c
index fdd4987..d015db2 100644 (file)
@@ -248,6 +248,7 @@ void opregion_enable_asle(struct drm_device *dev)
 {
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct opregion_asle *asle = dev_priv->opregion.asle;
+       u32 mask = 0;
 
        if (asle) {
                u32 pipeb_stats = I915_READ(PIPEBSTAT);
@@ -257,12 +258,13 @@ void opregion_enable_asle(struct drm_device *dev)
                           to generate an IRQ on writes */
                        I915_WRITE(PIPEBSTAT, pipeb_stats |= 
                                   I915_LEGACY_BLC_EVENT_ENABLE);
-                       dev_priv->irq_enable_reg |= 
-                               (I915_ASLE_INTERRUPT 
-                                | I915_DISPLAY_PIPE_B_EVENT_INTERRUPT);
+                       mask = I915_ASLE_INTERRUPT |
+                               I915_DISPLAY_PIPE_B_EVENT_INTERRUPT;
                } else
-                       dev_priv->irq_enable_reg |= I915_ASLE_INTERRUPT;
+                       mask = I915_ASLE_INTERRUPT;
                
+               dev_priv->irq_mask_reg &= ~mask;
+
                asle->tche = ASLE_ALS_EN | ASLE_BLC_EN | ASLE_PFIT_EN | 
                        ASLE_PFMB_EN;
                asle->ardy = 1;