> -----Original Message----- > From: Hogander, Jouni <jouni.hogander@xxxxxxxxx> > Sent: Wednesday, June 5, 2024 3:56 PM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Manna, Animesh <animesh.manna@xxxxxxxxx>; Kahola, Mika > <mika.kahola@xxxxxxxxx>; Hogander, Jouni <jouni.hogander@xxxxxxxxx> > 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@xxxxxxxxx> > --- > 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. 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