drm/i915/psr: Allow DSB usage when PSR is enabled
authorJouni Högander <jouni.hogander@intel.com>
Thu, 13 Feb 2025 06:48:04 +0000 (08:48 +0200)
committerJouni Högander <jouni.hogander@intel.com>
Fri, 14 Feb 2025 06:37:50 +0000 (08:37 +0200)
Now as we have correct PSR2_MAN_TRK_CTL handling in place we can allow DSB
usage also when PSR is enabled for LunarLake onwards.

v2: rebase

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Animesh Manna <animesh.manna@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250213064804.2077127-14-jouni.hogander@intel.com
drivers/gpu/drm/i915/display/intel_display.c

index dccdb20cc6d7bb14355cdd6bde9e7301e1d0b9fa..e7f76306d4e684429a123d454e2b2237ba608dff 100644 (file)
@@ -7687,6 +7687,7 @@ static void intel_atomic_prepare_plane_clear_colors(struct intel_atomic_state *s
 static void intel_atomic_dsb_prepare(struct intel_atomic_state *state,
                                     struct intel_crtc *crtc)
 {
+       struct intel_display *display = to_intel_display(state);
        const struct intel_crtc_state *old_crtc_state =
                intel_atomic_get_old_crtc_state(state, crtc);
        struct intel_crtc_state *new_crtc_state =
@@ -7702,7 +7703,7 @@ static void intel_atomic_dsb_prepare(struct intel_atomic_state *state,
        new_crtc_state->use_dsb =
                new_crtc_state->update_planes &&
                !new_crtc_state->do_async_flip &&
-               !new_crtc_state->has_psr &&
+               (DISPLAY_VER(display) >= 20 || !new_crtc_state->has_psr) &&
                !new_crtc_state->scaler_state.scaler_users &&
                !old_crtc_state->scaler_state.scaler_users &&
                !intel_crtc_needs_modeset(new_crtc_state) &&