On Fri, Sep 05, 2025 at 10:27:08AM +0300, Jouni Högander wrote: > We are currently observing crc failures after we started using dsb for PSR > updates as well. This seems to happen because PSR HW is still sending > couple of updates using old framebuffers on wake-up. > > Fix this by adding poll ensuring PSR is idle before starting update. > > v2: pass new_crtc_state->dsb_commit to intel_psr_wait_for_idle_dsb > > Signed-off-by: Jouni Högander <jouni.hogan...@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com> > --- > drivers/gpu/drm/i915/display/intel_display.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > b/drivers/gpu/drm/i915/display/intel_display.c > index c1a3a95c65f0..5dca7f96b425 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -7271,6 +7271,9 @@ static void intel_atomic_dsb_finish(struct > intel_atomic_state *state, > intel_psr_trigger_frame_change_event(new_crtc_state->dsb_commit, > state, crtc); > > + intel_psr_wait_for_idle_dsb(new_crtc_state->dsb_commit, > + new_crtc_state); > + > if (new_crtc_state->use_dsb) > intel_dsb_vblank_evade(state, > new_crtc_state->dsb_commit); > > -- > 2.43.0 -- Ville Syrjälä Intel