> -----Original Message-----
> From: Intel-xe <intel-xe-boun...@lists.freedesktop.org> On Behalf Of Jouni
> Högander
> Sent: Friday, March 7, 2025 5:31 PM
> To: intel-gfx@lists.freedesktop.org; intel...@lists.freedesktop.org
> Cc: Hogander, Jouni <jouni.hogan...@intel.com>
> Subject: [PATCH] drm/i915/psr: Check transcoder Selective Update support
> for PR as well
> 
> We need to ensure transcoder is supporting Selective Update in case of Panel
> Replay as well.
> 
> Signed-off-by: Jouni Högander <jouni.hogan...@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index 74aa7ba34fda..84e4d6f1f3a8 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -1491,13 +1491,6 @@ static bool intel_psr2_config_valid(struct intel_dp
> *intel_dp,
>               return false;
>       }
> 
> -     if (!transcoder_has_psr2(display, crtc_state->cpu_transcoder)) {
> -             drm_dbg_kms(display->drm,
> -                         "PSR2 not supported in transcoder %s\n",
> -                         transcoder_name(crtc_state->cpu_transcoder));
> -             return false;
> -     }
> -
>       /*
>        * DSC and PSR2 cannot be enabled simultaneously. If a requested
>        * resolution requires DSC to be enabled, priority is given to DSC @@
> -1579,6 +1572,13 @@ static bool intel_sel_update_config_valid(struct
> intel_dp *intel_dp,
>               goto unsupported;
>       }
> 
> +     if (!transcoder_has_psr2(display, crtc_state->cpu_transcoder)) {
> +             drm_dbg_kms(display->drm,
> +                         "Selective update not supported in transcoder
> %s\n",
> +                         transcoder_name(crtc_state->cpu_transcoder));
> +             goto unsupported;
> +     }
> +

Panel replay for EDP is fine with the above change but panel replay for DP can 
be supported by all DP2.0 transcoder and for that maybe only 
transcoder_has_psr2() is not covering for DP.  Additional check for DP2.0 can 
be added for DP like - transcoder_has_psr2 || HAS_DP20. Please correct me if I 
am missing something.


Regards,
Animesh

>       if (!crtc_state->has_panel_replay &&
> !intel_psr2_config_valid(intel_dp, crtc_state))
>               goto unsupported;
> 
> --
> 2.43.0

Reply via email to