[Intel-gfx] [PATCH 1/4] drm/i915: Increase PSR Idle Frame to 2.

Rodrigo Vivi rodrigo.vivi at gmail.com
Thu Sep 4 20:22:23 CEST 2014


On Thu, Sep 4, 2014 at 3:04 AM, Ville Syrjälä <ville.syrjala at linux.intel.com
> wrote:

> On Thu, Sep 04, 2014 at 11:29:16AM +0200, Daniel Vetter wrote:
> > On Thu, Sep 04, 2014 at 10:55:16AM +0300, Ville Syrjälä wrote:
> > > On Wed, Sep 03, 2014 at 10:49:56PM -0400, Rodrigo Vivi wrote:
> > > > With Software tracking we are going to PSR sooner than we should and
> staying
> > > > with blank screens in many cases.
> > > >
> > > > Using 2 identical frames to detect idleness is safier.
> > >
> > > This idle frame detection still depends of FBC right?
> > >
> > > I believe if we want to go for full sw tracking on HSW/BDW we need to
> > > use the debug register to force PSR entry/exit.
> >
> > Currently the sw tracking relies upon 1 additional full upload happening
> > after the flush, which hopefully should magically happen if we have just
> 1
> > idle frame.
> >
> > If we'd completely switch to sw tracking we'd need to set up a vblank
> > worker to disable psr after the next vblank, which would comlicate the
> > code I think.
>
> vlv/chv have no hw tracking so if the current sw tracking can't deal
> with that then it would seem to need more work.
>

the sw tracking on vlv works well.
The only issue is that the force depends on a dpms_on call and I was facing
strange hangs when going blank.
But overal it is possible.


>
> > -Daniel
> >
> > >
> > > >
> > > > Discovered and validated with refactored igt/kms_sink_psr_crc.
> > > >
> > > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/intel_dp.c | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c
> b/drivers/gpu/drm/i915/intel_dp.c
> > > > index f79473b..a796831 100644
> > > > --- a/drivers/gpu/drm/i915/intel_dp.c
> > > > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > > > @@ -1813,7 +1813,7 @@ static void intel_edp_psr_enable_source(struct
> intel_dp *intel_dp)
> > > >   struct drm_device *dev = dig_port->base.base.dev;
> > > >   struct drm_i915_private *dev_priv = dev->dev_private;
> > > >   uint32_t max_sleep_time = 0x1f;
> > > > - uint32_t idle_frames = 1;
> > > > + uint32_t idle_frames = 2;
> > > >   uint32_t val = 0x0;
> > > >   const uint32_t link_entry_time =
> EDP_PSR_MIN_LINK_ENTRY_TIME_8_LINES;
> > > >   bool only_standby = false;
> > > > --
> > > > 1.9.3
> > > >
> > > > _______________________________________________
> > > > Intel-gfx mailing list
> > > > Intel-gfx at lists.freedesktop.org
> > > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > >
> > > --
> > > Ville Syrjälä
> > > Intel OTC
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
>
> --
> Ville Syrjälä
> Intel OTC
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20140904/2fdf349d/attachment.html>


More information about the Intel-gfx mailing list