LGTM Reviewed-by: Jeevan B <jeeva...@intel.com>
> -----Original Message----- > From: Intel-gfx <intel-gfx-boun...@lists.freedesktop.org> On Behalf Of Jouni > Högander > Sent: Tuesday, August 26, 2025 1:15 PM > To: intel-gfx@lists.freedesktop.org; intel...@lists.freedesktop.org > Cc: Hogander, Jouni <jouni.hogan...@intel.com> > 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 <jouni.hogan...@intel.com> > --- > 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