On Fri, Jan 24, 2025 at 12:56:20PM +0200, Jouni Högander wrote: > Changing PSR mode using DSB is not implemented. Do not use DSB when PSR > mode is changing. > > Signed-off-by: Jouni Högander <jouni.hogander@xxxxxxxxx> > Reviewed-by: Animesh Manna <animesh.manna@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_display.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index 3ac1cc9ac08a8..a189aa437d972 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -7682,7 +7682,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state, > !new_crtc_state->scaler_state.scaler_users && > !old_crtc_state->scaler_state.scaler_users && > !intel_crtc_needs_modeset(new_crtc_state) && > - !intel_crtc_needs_fastset(new_crtc_state); > + !intel_crtc_needs_fastset(new_crtc_state) && > + !intel_psr_is_psr_mode_changing(old_crtc_state, new_crtc_state); Hmm. Doesn't all that imply a fastset anyway, and/or maybe all the PSR stuff happens in the {pre,post}_plane_update() stuff? In which case it shouldn't really matter for the stuff that the DSB does. > > if (!new_crtc_state->use_dsb && !new_crtc_state->dsb_color_vblank) > return; > -- > 2.43.0 -- Ville Syrjälä Intel