@@ -7681,6 +7681,7 @@ static void intel_atomic_dsb_prepare(struct intel_atomic_state *state,
static void intel_atomic_dsb_finish(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 =
@@ -7696,7 +7697,7 @@ static void intel_atomic_dsb_finish(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) &&