On Mon, Jan 12, 2015 at 10:14:36AM -0800, Rodrigo Vivi wrote: > This will be useful for automated test to know for how long to wait for PSR > to comeback before time out. > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_debugfs.c | 2 ++ > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/intel_psr.c | 5 +++-- > 3 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c > index 0d11cbe..8823867 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -2250,6 +2250,8 @@ static int i915_edp_psr_status(struct seq_file *m, void *data) > > seq_printf(m, "Link standby: %s\n", > yesno((bool)dev_priv->psr.link_standby)); > + seq_printf(m, "Wakeup time: %d ms\n", > + dev_priv->psr.wakeup_time); > > /* CHV PSR has no kind of performance counter */ > if (HAS_PSR(dev) && HAS_DDI(dev)) { > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index b4f01b4..4b1d07d 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -790,6 +790,7 @@ struct i915_psr { > struct delayed_work work; > unsigned busy_frontbuffer_bits; > bool link_standby; > + int wakeup_time; > }; > > enum intel_pch { > diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c > index d1c2c31..3838921 100644 > --- a/drivers/gpu/drm/i915/intel_psr.c > +++ b/drivers/gpu/drm/i915/intel_psr.c > @@ -606,7 +606,8 @@ void intel_psr_flush(struct drm_device *dev, > bool link_on = dev_priv->psr.link_standby; > int tp = 100 * dev_priv->vbt.psr.tp2_tp3_wakeup_time + > 100 * dev_priv->vbt.psr.tp1_wakeup_time; > - int delay = tp && !link_on ? tp : 100; > + > + dev_priv->psr.wakeup_time = tp && !link_on ? tp : 100; Recomputing this on every flush looks a bit strange. Especially since it means we have this kind of one-time computations at different places. Imo that should all be consolidated (probably best in the psr_enable funcions). I'll wait for a resend for this and patch 8 (and the naming unconfusion+kerneldoc patch), all others merged. Thanks, Daniel > > mutex_lock(&dev_priv->psr.lock); > if (!dev_priv->psr.enabled) { > @@ -639,7 +640,7 @@ void intel_psr_flush(struct drm_device *dev, > > if (!dev_priv->psr.active && !dev_priv->psr.busy_frontbuffer_bits) > schedule_delayed_work(&dev_priv->psr.work, > - msecs_to_jiffies(delay)); > + msecs_to_jiffies(dev_priv->psr.wakeup_time)); > mutex_unlock(&dev_priv->psr.lock); > } > > -- > 2.1.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx