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>
This commit is contained in:
parent
6a4ea1248c
commit
ff9282613f
1 changed files with 1 additions and 8 deletions
|
@ -2491,14 +2491,7 @@ static void gen6_enable_rps(struct drm_device *dev)
|
|||
gen6_set_rps(dev_priv->dev, (gt_perf_status & 0xff00) >> 8);
|
||||
|
||||
/* requires MSI enabled */
|
||||
I915_WRITE(GEN6_PMIER,
|
||||
GEN6_PM_MBOX_EVENT |
|
||||
GEN6_PM_THERMAL_EVENT |
|
||||
GEN6_PM_RP_DOWN_TIMEOUT |
|
||||
GEN6_PM_RP_UP_THRESHOLD |
|
||||
GEN6_PM_RP_DOWN_THRESHOLD |
|
||||
GEN6_PM_RP_UP_EI_EXPIRED |
|
||||
GEN6_PM_RP_DOWN_EI_EXPIRED);
|
||||
I915_WRITE(GEN6_PMIER, GEN6_PM_DEFERRED_EVENTS);
|
||||
spin_lock_irq(&dev_priv->rps_lock);
|
||||
WARN_ON(dev_priv->pm_iir != 0);
|
||||
I915_WRITE(GEN6_PMIMR, 0);
|
||||
|
|
Loading…
Reference in a new issue