[Intel-gfx] [PATCH v2 2/2] drm/i915/display: Do not re-enable PSR after it was marked as not reliable
Hogander, Jouni
jouni.hogander at intel.com
Tue Mar 15 13:29:51 UTC 2022
On Fri, 2022-03-11 at 10:51 -0800, José Roberto de Souza wrote:
> If a error happens and sink_not_reliable is set, PSR should be
> disabled
> for good but that is not happening.
> It would be disabled by the function handling the PSR error but then
> on the next fastset it would be enabled again in
> _intel_psr_post_plane_update().
> It would only be disabled for good in the next modeset where has_psr
> will be set false.
>
> v2:
> - release psr lock before continue
Reviewed-by: Jouni Högander <jouni.hogander at intel.com>
>
> Fixes: 9ce5884e5139 ("drm/i915/display: Only keep PSR enabled if
> there is active planes")
> Reported-by: Khaled Almahallawy <khaled.almahallawy at intel.com>
> Reported-by: Charlton Lin <charlton.lin at intel.com>
> Cc: Jouni Högander <jouni.hogander at intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_psr.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index bbd581ed08159..80002ca6a6ebe 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -1853,6 +1853,9 @@ static void _intel_psr_post_plane_update(const
> struct intel_atomic_state *state,
>
> mutex_lock(&psr->lock);
>
> + if (psr->sink_not_reliable)
> + goto exit;
> +
> drm_WARN_ON(&dev_priv->drm, psr->enabled &&
> !crtc_state->active_planes);
>
> /* Only enable if there is active planes */
> @@ -1863,6 +1866,7 @@ static void _intel_psr_post_plane_update(const
> struct intel_atomic_state *state,
> if (crtc_state->crc_enabled && psr->enabled)
> psr_force_hw_tracking_exit(intel_dp);
>
> +exit:
> mutex_unlock(&psr->lock);
> }
> }
More information about the Intel-gfx
mailing list