[Intel-gfx] [PATCH 08/15] drm/i915: Don't try to disable psr harder from the work item

Daniel Vetter daniel at ffwll.ch
Tue Jun 17 09:29:50 CEST 2014


On Mon, Jun 16, 2014 at 05:20:48PM -0700, Rodrigo Vivi wrote:
> Now I'm wondering about the psr_updated you removed and without this
> disabling at this point if you alternate to fbcon you might miss most of
> screen updates if not all...

The psr work only has a 100 ms timer, so won't catch too much really. And
we really can't call psr_match_conditions from the work again due to
locking inversion (once locking is added).

I agree that this change here breaks a few things, but the problem is that
I don't see a way to smoothly transition from your current scheme, which
mostly works due to massive amounts of invalidation as long as anything is
going on, to the new precise frontbuffer tracking. Smashing everything
into the final patch feels wrong, too.

If you're too worried about such issues I can merge more patches, but I
really have no idea how to split up the last psr patch to switch over to
invalidate/flush.
-Daniel

> 
> 
> On Mon, Jun 16, 2014 at 10:51 AM, Daniel Vetter <daniel.vetter at ffwll.ch>
> wrote:
> 
> > It's disabled already except when we've raced.
> >
> > Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> > ---
> >  drivers/gpu/drm/i915/intel_dp.c | 4 +---
> >  1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c
> > b/drivers/gpu/drm/i915/intel_dp.c
> > index 10bcc052df4b..3e0861be9c5d 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -1876,9 +1876,7 @@ static void intel_edp_psr_work(struct work_struct
> > *work)
> >                 container_of(work, typeof(*dev_priv), psr.work.work);
> >         struct intel_dp *intel_dp = dev_priv->psr.enabled;
> >
> > -       if (!intel_edp_psr_match_conditions(intel_dp))
> > -               intel_edp_psr_disable(intel_dp);
> > -       else
> > +       if (intel_edp_psr_match_conditions(intel_dp))
> >                 intel_edp_psr_do_enable(intel_dp);
> >  }
> >
> > --
> > 2.0.0
> >
> > _______________________________________________
> > 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

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list