> -----Original Message----- > From: Nautiyal, Ankit K <ankit.k.nauti...@intel.com> > Sent: 07 August 2025 16:46 > To: intel-gfx@lists.freedesktop.org; intel...@lists.freedesktop.org > Cc: ville.syrj...@linux.intel.com; jani.nik...@linux.intel.com; Golani, > Mitulkumar Ajitkumar <mitulkumar.ajitkumar.gol...@intel.com>; Nautiyal, > Ankit K <ankit.k.nauti...@intel.com> > Subject: [PATCH 07/12] drm/i915/vrr: Use vrr.sync_start for getting vtotal > > Currently, in intel_vrr_get_config() crtc_vtotal is computed from vrr.vmin > vtotal, > since the VTOTAL.Vtotal bits are deprecated. > Since vmin is currently set to crtc_vtotal, this gives us the vtotal. > However, as we move to optimized guardband, vmin will be modified to set to > the minimum Vtotal for highest refresh rate supported. > > Instead of depending on vmin, compute vtotal from crtc_vsync_start and > vrr.vsync_start. This works since vrr.vsync_start is measured from the end of > vblank, and crtc_vsync_start is measured from start of the scanline. Together > their sum is equal to the crtc_vtotal. > > Signed-off-by: Ankit Nautiyal <ankit.k.nauti...@intel.com> > --- > drivers/gpu/drm/i915/display/intel_vrr.c | 21 ++++++++++----------- > 1 file changed, 10 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c > b/drivers/gpu/drm/i915/display/intel_vrr.c > index 3eed37f271b0..46a85720411f 100644 > --- a/drivers/gpu/drm/i915/display/intel_vrr.c > +++ b/drivers/gpu/drm/i915/display/intel_vrr.c > @@ -735,17 +735,6 @@ void intel_vrr_get_config(struct intel_crtc_state > *crtc_state) > TRANS_VRR_VMAX(display, > cpu_transcoder)) + 1; > crtc_state->vrr.vmin = intel_de_read(display, > TRANS_VRR_VMIN(display, > cpu_transcoder)) + 1; > - > - /* > - * For platforms that always use VRR Timing Generator, the > VTOTAL.Vtotal > - * bits are not filled. Since for these platforms TRAN_VMIN is > always > - * filled with crtc_vtotal, use TRAN_VRR_VMIN to get the vtotal > for > - * adjusted_mode. > - */ > - if (intel_vrr_always_use_vrr_tg(display)) > - crtc_state->hw.adjusted_mode.crtc_vtotal = > - intel_vrr_vmin_vtotal(crtc_state); > - > if (HAS_AS_SDP(display)) { > trans_vrr_vsync = > intel_de_read(display, > @@ -755,6 +744,16 @@ void intel_vrr_get_config(struct intel_crtc_state > *crtc_state) > crtc_state->vrr.vsync_end = > REG_FIELD_GET(VRR_VSYNC_END_MASK, > trans_vrr_vsync); > } > + /* > + * For platforms that always use VRR Timing Generator, the > VTOTAL.Vtotal > + * bits are not filled. Since vrr.vsync_start is computed as: > + * crtc_vtotal - crtc_vsync_start, we can derive vtotal from > + * vrr.vsync_start and crtc_vsync_start. > + */ > + if (intel_vrr_always_use_vrr_tg(display)) > + crtc_state->hw.adjusted_mode.crtc_vtotal = > + crtc_state- > >hw.adjusted_mode.crtc_vsync_start + > + crtc_state->vrr.vsync_start; Reviewed-by: Mitul Golani <mitulkumar.ajitkumar.gol...@intel.com> > } > > vrr_enable = trans_vrr_ctl & VRR_CTL_VRR_ENABLE; > -- > 2.45.2
RE: [PATCH 07/12] drm/i915/vrr: Use vrr.sync_start for getting vtotal
Golani, Mitulkumar Ajitkumar Thu, 07 Aug 2025 10:01:23 -0700
- RE: [PATCH 01/12] drm/i915/skl_watermark... Golani, Mitulkumar Ajitkumar
- [PATCH 06/12] drm/i915/alpm: Add function to ... Ankit Nautiyal
- [PATCH 08/12] drm/i915/display: Add guardband... Ankit Nautiyal
- RE: [PATCH 08/12] drm/i915/display: Add ... Golani, Mitulkumar Ajitkumar
- Re: [PATCH 08/12] drm/i915/display: ... Nautiyal, Ankit K
- RE: [PATCH 08/12] drm/i915/display: Add ... Golani, Mitulkumar Ajitkumar
- Re: [PATCH 08/12] drm/i915/display: ... Nautiyal, Ankit K
- Re: [PATCH 08/12] drm/i915/display: Add ... Jani Nikula
- Re: [PATCH 08/12] drm/i915/display: ... Nautiyal, Ankit K
- [PATCH 07/12] drm/i915/vrr: Use vrr.sync_star... Ankit Nautiyal
- RE: [PATCH 07/12] drm/i915/vrr: Use vrr.... Golani, Mitulkumar Ajitkumar
- [PATCH 09/12] drm/i915/skl_watermark: Remove ... Ankit Nautiyal
- RE: [PATCH 09/12] drm/i915/skl_watermark... Golani, Mitulkumar Ajitkumar
- [PATCH 05/12] drm/i915/dp: Add SDP latency co... Ankit Nautiyal
- [PATCH 10/12] drm/i915/vrr: Use static guardb... Ankit Nautiyal
- [PATCH 11/12] drm/i915/panel: Add helper to g... Ankit Nautiyal
- Re: [PATCH 11/12] drm/i915/panel: Add he... Jani Nikula
- Re: [PATCH 11/12] drm/i915/panel: Ad... Nautiyal, Ankit K
- [PATCH 12/12] drm/i915/vrr: Fix seamless_mn d... Ankit Nautiyal
- ✓ i915.CI.BAT: success for Optimize vrr.guard... Patchwork
- [PATCH 00/12] Optimize vrr.guardband and fix ... Ankit Nautiyal