[Intel-gfx] [PATCH] drm/i915/display/psr: Add sink not reliable check to intel_psr_work()

Souza, Jose jose.souza at intel.com
Tue Mar 16 14:38:34 UTC 2021


On Sat, 2021-03-13 at 20:01 +0000, Mun, Gwan-gyeong wrote:
> On Fri, 2021-03-12 at 05:37 -0800, Souza, Jose wrote:
> > On Fri, 2021-03-12 at 15:34 +0200, Gwan-gyeong Mun wrote:
> > > If the sink state is not reliable, it does not need to wait for
> > > PSR "IDLE state" for re-enabling PSR. And it should not try to re-
> > > enable
> > > PSR.
> > > 
> > > Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_psr.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > > b/drivers/gpu/drm/i915/display/intel_psr.c
> > > index cd434285e3b7..7f555407de06 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > @@ -1686,6 +1686,9 @@ static void intel_psr_work(struct work_struct
> > > *work)
> > >         if (READ_ONCE(intel_dp->psr.irq_aux_error))
> > >                 intel_psr_handle_irq(intel_dp);
> > >  
> > > 
> > > 
> > > 
> 1. In intel_psr_irq_handler()
>    when the psr error happens,
>      intel_dp->psr.irq_aux_error = true; 
>       schedule_work(&intel_dp->psr.work);
> 
> 
> 2. In intel_psr_work()
>     ...
>    if (READ_ONCE(intel_dp->psr.irq_aux_error))
>      intel_psr_handle_irq(intel_dp); 
> 	 -> intel_psr_disable_locked(intel_dp); 
>             psr->sink_not_reliable = true;  
>     ...
> 
> 
> IMO, when this scenario happens, the below code seems to be needed.


Information like this should be in the commit message.
Do not add another check, just do a goto close to the function that handles irq_aux_error.

> 
> > > +       if (intel_dp->psr.sink_not_reliable)
> > > +               goto unlock;
> > 
> > I can't think any scenario that this will hit.
> > Before set sink_not_reliable PSR will be disabled so it will be caught
> > in the first check of intel_psr_work().
> > 
> > > +
> > >         /*
> > >          * We have to make sure PSR is ready for re-enable
> > >          * otherwise it keeps disabled until next full enable/disable
> > > cycle.
> > 
> 



More information about the Intel-gfx mailing list