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

Paulo Zanoni
2015-11-16T19:27:10Z

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?

>
> 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

--
Paulo Zanoni