Re: [PATCH 4/4] drm/i915: PSR: Mask LPSP hw tracking back again.

Vivi, Rodrigo
2015-11-18T00:01:52Z

On Mon, 2015-11-16 at 17:27 -0200, Paulo Zanoni wrote:
> 2015-11-11 19:20 GMT-02:00 Rodrigo Vivi <rodrigo.vivi@intel.com>:
> > At the beginning it was masked to allow PSR at all.
> > Than it got removed later by my
> > commit 09108b90f040 ("drm/i915: PSR: Remove Low Power HW tracking
> > mask.")
> > in order to trying fixing one case reported at intel-gfx mailing
> > list
> > where we were missing screen updates when runtime_pm was enabled.
> >
> > However I verified that other patch that makes flush to force
> > invalidate also fixes this issue by itself.
> > commit 169de1316c1e ("drm/i915: PSR: Flush means invalidate +
> > flush")
> >
> > Mainly now that we are relying more on frontbuffer tracking it is a
> > good idea to mask this hw tracking again.
>
> Up until this point you suggest that this patch is not a bug fix, but
> it also does not add any regression, and it's convenient since it
> stops us from depending on runtime PM.
>
> >
> > But besides all this above it is important to hightligh that with
> > LPSP
> > unmasked we started seeing some screen freezings as reported at
> > fd.o.
>
> But this sentence suggests the patch actually does fix bugs. But
> there
> are also no references to the fd.o bug.
>
> Does this patch fix any bug or not?

Sorry, this was a confusion. The bug was fixed by another patch so
nothing to worrie. I will update the commit message here.

>
> >
> > v2: Update commit message since this patch by itself doesn't solve
> > the bugzilla entries.
> >
> > Tested-by: Brian Norris <briannorris@chromium.org>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_psr.c | 9 +++++++--
> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_psr.c
> > b/drivers/gpu/drm/i915/intel_psr.c
> > index b0e343c..b1b88d1 100644
> > --- a/drivers/gpu/drm/i915/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/intel_psr.c
> > @@ -400,9 +400,14 @@ void intel_psr_enable(struct intel_dp
> > *intel_dp)
> > skl_psr_setup_su_vsc(intel_dp);
> > }
> >
> > - /* Avoid continuous PSR exit by masking memup and
> > hpd */
> > + /*
> > + * Per Spec: Avoid continuous PSR exit by masking
> > MEMUP and HPD.
> > + * Also mask LPSP to avoid dependency on other
> > drivers that
> > + * might block runtime_pm besides preventing other
> > hw tracking
> > + * issues now we can rely on frontbuffer tracking.
> > + */
> > I915_WRITE(EDP_PSR_DEBUG_CTL(dev),
> > EDP_PSR_DEBUG_MASK_MEMUP |
> > - EDP_PSR_DEBUG_MASK_HPD);
> > + EDP_PSR_DEBUG_MASK_HPD |
> > EDP_PSR_DEBUG_MASK_LPSP);
> >
> > /* Enable PSR on the panel */
> > hsw_psr_enable_sink(intel_dp);
> > --
> > 2.4.3
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx