Re: [Intel-gfx] [PATCH] drm/i915/psr: Disable PSR2 selective fetch for all TGL steps

From: Hogander, Jouni
Date: Tue Feb 08 2022 - 06:34:04 EST


Hello Paul,

On Mon, 2022-02-07 at 16:38 -0500, Lyude Paul wrote:
> As we've unfortunately started to come to expect from PSR on Intel
> platforms, PSR2 selective fetch is not at all ready to be enabled on
> Tigerlake as it results in severe flickering issues - at least on
> this
> ThinkPad X1 Carbon 9th generation. The easiest way I've found of
> reproducing these issues is to just move the cursor around the left
> border
> of the screen (suspicious…).

Sorry to hear you have this bad experience with i915 PSR2 selective
fetch support. There is already some discussion about these problems
and possible root causes here:

https://gitlab.freedesktop.org/drm/intel/-/issues/4951

I have Dell XPS 13 7390 which has panel supporting PSR2. Luckily I'm
not facing these problems with it.

>
> So, fix people's displays again and turn PSR2 selective fetch off for
> all
> steppings of Tigerlake. This can be re-enabled again if someone from
> Intel
> finds the time to fix this functionality on OEM machines.
>
> Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx>
> Fixes: 7f6002e58025 ("drm/i915/display: Enable PSR2 selective fetch
> by default")
> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@xxxxxxxxx>
> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> Cc: José Roberto de Souza <jose.souza@xxxxxxxxx>
> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>
> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
> Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: <stable@xxxxxxxxxxxxxxx> # v5.16+
> ---
> drivers/gpu/drm/i915/display/intel_psr.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index a1a663f362e7..25c16abcd9cd 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -737,10 +737,14 @@ static bool
> intel_psr2_sel_fetch_config_valid(struct intel_dp *intel_dp,
> return false;
> }
>
> - /* Wa_14010254185 Wa_14010103792 */
> - if (IS_TGL_DISPLAY_STEP(dev_priv, STEP_A0, STEP_C0)) {
> + /*
> + * There's two things stopping this from being enabled on TGL:
> + * For steps A0-C0: workarounds Wa_14010254185 Wa_14010103792
> are missing
> + * For all steps: PSR2 selective fetch causes screen flickering
> + */
> + if (IS_TIGERLAKE(dev_priv)) {
> drm_dbg_kms(&dev_priv->drm,
> - "PSR2 sel fetch not enabled, missing the
> implementation of WAs\n");
> + "PSR2 sel fetch not enabled, currently
> broken on TGL\n");
> return false;
> }
>

BR,

Jouni Högander