[PATCH v5 1/1] drm/i915/display: Add no_psr_reason to PSR debugfs
Krzysztof Karas
krzysztof.karas at intel.com
Thu Jul 17 11:09:10 UTC 2025
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
More information about the Intel-gfx
mailing list