[PATCH v6 11/26] drm/i915/psr: Move vblank length check to separate function
Hogander, Jouni
jouni.hogander at intel.com
Thu Jun 6 15:41:44 UTC 2024
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.
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