[PATCH v6 11/26] drm/i915/psr: Move vblank length check to separate function

Hogander, Jouni jouni.hogander at intel.com
Fri Jun 7 13:19:46 UTC 2024


On Fri, 2024-06-07 at 11:09 +0000, Manna, Animesh wrote:
> 
> 
> > -----Original Message-----
> > From: Hogander, Jouni <jouni.hogander at intel.com>
> > Sent: Thursday, June 6, 2024 9:12 PM
> > To: Manna, Animesh <animesh.manna at intel.com>; intel-
> > gfx at lists.freedesktop.org
> > Cc: Kahola, Mika <mika.kahola at intel.com>
> > Subject: Re: [PATCH v6 11/26] drm/i915/psr: Move vblank length
> > check to
> > separate function
> > 
> > On Thu, 2024-06-06 at 14:58 +0000, Manna, Animesh wrote:
> > > 
> > > 
> > > > -----Original Message-----
> > > > From: Hogander, Jouni <jouni.hogander at intel.com>
> > > > Sent: Wednesday, June 5, 2024 3:56 PM
> > > > To: intel-gfx at lists.freedesktop.org
> > > > Cc: Manna, Animesh <animesh.manna at intel.com>; Kahola, Mika
> > > > <mika.kahola at intel.com>; Hogander, Jouni
> > > > <jouni.hogander at intel.com>
> > > > Subject: [PATCH v6 11/26] drm/i915/psr: Move vblank length
> > > > check to
> > > > separate function
> > > > 
> > > > We are about to add more complexity to vblank length check. It
> > > > makes
> > > > sense to move it to separate function for sake of clarity.
> > > > 
> > > > Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/display/intel_psr.c | 18 +++++++++++++++-
> > > > --
> > > >  1 file changed, 15 insertions(+), 3 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > > > b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > index 3530e5f44096..23c3fed1f983 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > @@ -1243,6 +1243,20 @@ static int
> > > > intel_psr_entry_setup_frames(struct
> > > > intel_dp *intel_dp,
> > > >         return entry_setup_frames;
> > > >  }
> > > > 
> > > > +static bool vblank_length_valid(struct intel_dp *intel_dp,
> > > > +                               const struct intel_crtc_state
> > > > *crtc_state) {
> > > 
> > > As this function specific to psr2, maybe good to have name as
> > > psr2_vblank_length_valid(). Otherwise the changes looks ok to me.
> > 
> > Please check patch 19. That is actually moving this to be common
> > for Panel
> > Replay and PSR.
> 
> How about su_vblank_length_valid() ? this function is specific to
> psr2/pr and the name sounds generic to me.

Ok, I will try to figure out something else...

BR,

Jouni Högander

> 
> Regards,
> Animesh
> 
> > 
> > BR,
> > 
> > Jouni Högander
> > 
> > > 
> > > Regards,
> > > Animesh
> > > > +       int vblank = crtc_state-
> > > > >hw.adjusted_mode.crtc_vblank_end -
> > > > +               crtc_state->hw.adjusted_mode.crtc_vblank_start;
> > > > +       int wake_lines = psr2_block_count_lines(intel_dp);
> > > > +
> > > > +       /* Vblank >= PSR2_CTL Block Count Number maximum line
> > > > count
> > > > */
> > > > +       if (vblank < wake_lines)
> > > > +               return false;
> > > > +
> > > > +       return true;
> > > > +}
> > > > +
> > > >  static bool intel_psr2_config_valid(struct intel_dp *intel_dp,
> > > >                                     struct intel_crtc_state
> > > > *crtc_state)  { @@ -
> > > > 1333,9 +1347,7 @@ static bool intel_psr2_config_valid(struct
> > > > intel_dp *intel_dp,
> > > >         }
> > > > 
> > > >         /* Vblank >= PSR2_CTL Block Count Number maximum line
> > > > count
> > > > */
> > > > -       if (crtc_state->hw.adjusted_mode.crtc_vblank_end -
> > > > -           crtc_state->hw.adjusted_mode.crtc_vblank_start <
> > > > -           psr2_block_count_lines(intel_dp)) {
> > > > +       if (!vblank_length_valid(intel_dp, crtc_state)) {
> > > >                 drm_dbg_kms(&dev_priv->drm,
> > > >                             "PSR2 not enabled, too short vblank
> > > > time\n");
> > > >                 return false;
> > > > --
> > > > 2.34.1
> > > 
> 



More information about the Intel-gfx mailing list