Re: [PATCH v4 10/13] drm/i915/psr: Remove DSB_SKIP_WAITS_EN chicken bit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2025-01-24 at 13:46 +0200, Ville Syrjälä wrote:
> On Fri, Jan 24, 2025 at 12:56:21PM +0200, Jouni Högander wrote:
> > We have different approach on how flip is considered being
> > complete. We are
> > waiting for vblank on DSB and generate interrupt when it happens
> > and this
> > interrupt is considered as indication of completion -> we
> > definitely do not
> > want to skip vblank wait.
> > 
> > Also not skipping scanline wait shouldn't cause any problems if we
> > are in
> > DEEP_SLEEP PIPEDSL register is returning 0 -> evasion does nothing
> > and if
> > we are not in DEEP_SLEEP evasion works same way as without PSR.
> > 
> > Signed-off-by: Jouni Högander <jouni.hogander@xxxxxxxxx>
> > ---
> >  drivers/gpu/drm/i915/display/intel_dsb.c | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c
> > b/drivers/gpu/drm/i915/display/intel_dsb.c
> > index 89d3496bcbdbd..bb77ded8bf726 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dsb.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dsb.c
> > @@ -168,13 +168,12 @@ static u32 dsb_chicken(struct
> > intel_atomic_state *state,
> >  		       struct intel_crtc *crtc)
> >  {
> 
> IIRC bspec suggests that we should always set DSB_SKIP_WAITS_EN,
> so we should probably have a comment here explaining our reason
> for omitting it. Otherwise I fear that someone is going to be
> blindly reading the spec and then try to add the bit back.

Ok, I will add that.

BR,

Joui Högander
> 
> >  	if (pre_commit_is_vrr_active(state, crtc))
> > -		return DSB_SKIP_WAITS_EN |
> > -			DSB_CTRL_WAIT_SAFE_WINDOW |
> > +		return DSB_CTRL_WAIT_SAFE_WINDOW |
> >  			DSB_CTRL_NO_WAIT_VBLANK |
> >  			DSB_INST_WAIT_SAFE_WINDOW |
> >  			DSB_INST_NO_WAIT_VBLANK;
> >  	else
> > -		return DSB_SKIP_WAITS_EN;
> > +		return 0;
> >  }
> >  
> >  static bool assert_dsb_has_room(struct intel_dsb *dsb)
> > -- 
> > 2.43.0
> 





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux