On Thu, Aug 20, 2015 at 05:55:41PM -0700, Rodrigo Vivi wrote: > 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. > > 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. > > This patch fixes the unrecoverable frozen screens reported: > > Reference: https://bugs.freedesktop.org/show_bug.cgi?id=91436 > Reference: https://bugs.freedesktop.org/show_bug.cgi?id=91437 > > Cc: Ivan Mitev <ivan.mitev@xxxxxxxxx> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Not sure whether you missed it, but did you look into pipe A interrupts when the screen freezes? Apparently we should try to do manual link training in that case, and failing to do so with a PSR panel pretty much fits the description of frozen panel. -Daniel > --- > 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 63bbab2..d02d4e2 100644 > --- a/drivers/gpu/drm/i915/intel_psr.c > +++ b/drivers/gpu/drm/i915/intel_psr.c > @@ -398,9 +398,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@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx