LGTM Reviewed-by: Jeevan B <[email protected]>
> -----Original Message----- > From: Intel-gfx <[email protected]> On Behalf Of Jouni > Högander > Sent: Tuesday, August 26, 2025 1:15 PM > To: [email protected]; [email protected] > Cc: Hogander, Jouni <[email protected]> > Subject: [PATCH] drm/i915/psr: Check PSR pause counter in > __psr_wait_for_idle_locked > > PSR work is using __psr_wait_for_idle_locked to ensure PSR exit is completed > before continuing to PSR activation. __psr_wait_for_idle_locked is unlocking > PSR mutex which allows PSR disable/enable and PSR pause/resume while PSR > idle is being wait. PSR enable status is already checked after locking again > PSR > mutex but PSR pause counter check is missing. Due to this PSR work may > continue to PSR activation even PSR is paused. > > Fix this by checking PSR pause counter in __psr_wait_for_idle_locked after PSR > mutex is locked again. > > Signed-off-by: Jouni Högander <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_psr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c > b/drivers/gpu/drm/i915/display/intel_psr.c > index eec4f7dc2d66..8b4cdf9b30db 100644 > --- a/drivers/gpu/drm/i915/display/intel_psr.c > +++ b/drivers/gpu/drm/i915/display/intel_psr.c > @@ -3092,7 +3092,7 @@ static bool __psr_wait_for_idle_locked(struct > intel_dp *intel_dp) > > /* After the unlocked wait, verify that PSR is still wanted! */ > mutex_lock(&intel_dp->psr.lock); > - return err == 0 && intel_dp->psr.enabled; > + return err == 0 && intel_dp->psr.enabled && > +!intel_dp->psr.pause_counter; > } > > static int intel_psr_fastset_force(struct intel_display *display) > -- > 2.43.0
