Hi Michał,

[...]
> @@ -2937,13 +2939,21 @@ void intel_psr_pre_plane_update(struct 
> intel_atomic_state *state,
>                        * - Region Early Transport changing
>                        * - Display WA #1136: skl, bxt
>                        */
> -                     if (intel_crtc_needs_modeset(new_crtc_state) ||
> -                         !new_crtc_state->has_psr ||
> -                         !new_crtc_state->active_planes ||
> -                         new_crtc_state->has_sel_update != 
> psr->sel_update_enabled ||
> -                         new_crtc_state->enable_psr2_su_region_et != 
> psr->su_region_et_enabled ||
> -                         new_crtc_state->has_panel_replay != 
> psr->panel_replay_enabled ||
> -                         (DISPLAY_VER(display) < 11 && 
> new_crtc_state->wm_level_disabled))
> +                     if (intel_crtc_needs_modeset(new_crtc_state))
> +                             psr->no_psr_reason = "CRTC needs modeset";
> +                     if (!new_crtc_state->has_psr)
> +                             psr->no_psr_reason = "PSR disabled";
> +                     if (!new_crtc_state->active_planes)
> +                             psr->no_psr_reason = "All planes inactive";
> +                     if (new_crtc_state->has_sel_update != 
> psr->sel_update_enabled)
> +                             psr->no_psr_reason = "Changing between PSR 
> versions";
> +                     if (new_crtc_state->enable_psr2_su_region_et != 
> psr->su_region_et_enabled)
> +                             psr->no_psr_reason = "Changing Region Early 
> Transport";
> +                     if (new_crtc_state->has_panel_replay != 
> psr->panel_replay_enabled)
> +                             psr->no_psr_reason = "Changing Panel Replay 
> mode";
> +                     if (DISPLAY_VER(display) < 11 && 
> new_crtc_state->wm_level_disabled)
> +                             psr->no_psr_reason = "Wa_1136";
> +                     if (psr->no_psr_reason)
>                               intel_psr_disable_locked(intel_dp);
>                       else if (new_crtc_state->wm_level_disabled)
>                               /* Wa_14015648006 */
Is it possible to have multiple reasons for disabling psr?
The way no_psr_reason is set above causes only the last reason
to be logged into that field.

---
Best Regards,
Krzysztof

Reply via email to