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

Hogander, Jouni jouni.hogander at intel.com
Tue Feb 8 11:08:26 UTC 2022


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 at redhat.com>
> Fixes: 7f6002e58025 ("drm/i915/display: Enable PSR2 selective fetch
> by default")
> Cc: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: José Roberto de Souza <jose.souza at intel.com>
> Cc: Jani Nikula <jani.nikula at linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: intel-gfx at lists.freedesktop.org
> Cc: <stable at vger.kernel.org> # 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


More information about the dri-devel mailing list