aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-07-05 10:02:17 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-07-20 06:21:36 -0400
commitff9282613f6796db3fe85dc6cbb995223078f581 (patch)
treefa3366a99818b6393a8b6f71a1c9457fdcb981ee /drivers/gpu
parent6a4ea1248cc10354f36b7917eb412d01e979d5ad (diff)
drm/i915: Only request PM interrupts for the events we handled
There is little point waking up every 10ms to service an interrupt which we then promptly ignore. So only program the the PMIER to enable interrupts for those events which we do handle, not all of them! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: Eugeni Dodonov <eugeni.dodonov@intel.com> Cc: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 0bb69fd255a9..a1495cd2a8e7 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -2491,14 +2491,7 @@ static void gen6_enable_rps(struct drm_device *dev)
2491 gen6_set_rps(dev_priv->dev, (gt_perf_status & 0xff00) >> 8); 2491 gen6_set_rps(dev_priv->dev, (gt_perf_status & 0xff00) >> 8);
2492 2492
2493 /* requires MSI enabled */ 2493 /* requires MSI enabled */
2494 I915_WRITE(GEN6_PMIER, 2494 I915_WRITE(GEN6_PMIER, GEN6_PM_DEFERRED_EVENTS);
2495 GEN6_PM_MBOX_EVENT |
2496 GEN6_PM_THERMAL_EVENT |
2497 GEN6_PM_RP_DOWN_TIMEOUT |
2498 GEN6_PM_RP_UP_THRESHOLD |
2499 GEN6_PM_RP_DOWN_THRESHOLD |
2500 GEN6_PM_RP_UP_EI_EXPIRED |
2501 GEN6_PM_RP_DOWN_EI_EXPIRED);
2502 spin_lock_irq(&dev_priv->rps_lock); 2495 spin_lock_irq(&dev_priv->rps_lock);
2503 WARN_ON(dev_priv->pm_iir != 0); 2496 WARN_ON(dev_priv->pm_iir != 0);
2504 I915_WRITE(GEN6_PMIMR, 0); 2497 I915_WRITE(GEN6_PMIMR, 0);