On Thu, 5 Jul 2012 15:02:17 +0100 Chris Wilson <chris at chris-wilson.co.uk> wrote: > 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 at chris-wilson.co.uk> > Cc: Jesse Barnes <jbarnes at virtuousgeek.org> > Cc: Eugeni Dodonov <eugeni.dodonov at intel.com> > Cc: Ben Widawsky <ben at bwidawsk.net> Agreed, although some of these events do sound interesting. Reviewed-by: Ben Widawsky <ben at bwidawsk.net> > --- > drivers/gpu/drm/i915/intel_pm.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 0e27e95..53df531 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) > 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); -- Ben Widawsky, Intel Open Source Technology Center