diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_irq.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index c10d2f1af0be..e0c6f7d6189d 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -167,11 +167,6 @@ void snb_disable_pm_irq(struct drm_i915_private *dev_priv, uint32_t mask) | |||
167 | snb_update_pm_irq(dev_priv, mask, 0); | 167 | snb_update_pm_irq(dev_priv, mask, 0); |
168 | } | 168 | } |
169 | 169 | ||
170 | static void snb_set_pm_irq(struct drm_i915_private *dev_priv, uint32_t val) | ||
171 | { | ||
172 | snb_update_pm_irq(dev_priv, 0xffffffff, ~val); | ||
173 | } | ||
174 | |||
175 | static bool ivb_can_enable_err_int(struct drm_device *dev) | 170 | static bool ivb_can_enable_err_int(struct drm_device *dev) |
176 | { | 171 | { |
177 | struct drm_i915_private *dev_priv = dev->dev_private; | 172 | struct drm_i915_private *dev_priv = dev->dev_private; |
@@ -963,7 +958,7 @@ static void gen6_rps_irq_handler(struct drm_i915_private *dev_priv, | |||
963 | 958 | ||
964 | spin_lock(&dev_priv->irq_lock); | 959 | spin_lock(&dev_priv->irq_lock); |
965 | dev_priv->rps.pm_iir |= pm_iir & GEN6_PM_RPS_EVENTS; | 960 | dev_priv->rps.pm_iir |= pm_iir & GEN6_PM_RPS_EVENTS; |
966 | snb_set_pm_irq(dev_priv, dev_priv->rps.pm_iir); | 961 | snb_disable_pm_irq(dev_priv, pm_iir & GEN6_PM_RPS_EVENTS); |
967 | spin_unlock(&dev_priv->irq_lock); | 962 | spin_unlock(&dev_priv->irq_lock); |
968 | 963 | ||
969 | queue_work(dev_priv->wq, &dev_priv->rps.work); | 964 | queue_work(dev_priv->wq, &dev_priv->rps.work); |
@@ -1046,9 +1041,7 @@ static void hsw_pm_irq_handler(struct drm_i915_private *dev_priv, | |||
1046 | if (pm_iir & GEN6_PM_RPS_EVENTS) { | 1041 | if (pm_iir & GEN6_PM_RPS_EVENTS) { |
1047 | spin_lock(&dev_priv->irq_lock); | 1042 | spin_lock(&dev_priv->irq_lock); |
1048 | dev_priv->rps.pm_iir |= pm_iir & GEN6_PM_RPS_EVENTS; | 1043 | dev_priv->rps.pm_iir |= pm_iir & GEN6_PM_RPS_EVENTS; |
1049 | snb_set_pm_irq(dev_priv, dev_priv->rps.pm_iir); | 1044 | snb_disable_pm_irq(dev_priv, pm_iir & GEN6_PM_RPS_EVENTS); |
1050 | /* never want to mask useful interrupts. */ | ||
1051 | WARN_ON(I915_READ_NOTRACE(GEN6_PMIMR) & ~GEN6_PM_RPS_EVENTS); | ||
1052 | spin_unlock(&dev_priv->irq_lock); | 1045 | spin_unlock(&dev_priv->irq_lock); |
1053 | 1046 | ||
1054 | queue_work(dev_priv->wq, &dev_priv->rps.work); | 1047 | queue_work(dev_priv->wq, &dev_priv->rps.work); |