On 6/16/2026 1:08 PM, Mitul Golani wrote:
DP transcoder uses TRANS_VTOTAL to derive MSA VTotal. Avoid
overriding crtc_vtotal to 1 on platform which supports VRR
Timing generator and always program VTOTAL from mode timing
in transcoder timing paths.
Bspec: 70001
Fixes: 94f608992f8c ("drm/i915/display: Avoid use of VTOTAL.Vtotal bits")
Cc: Ankit Nautiyal <[email protected]>
Cc: Ville Syrjälä <[email protected]>
Cc: Suraj Kandpal <[email protected]>
Signed-off-by: Mitul Golani <[email protected]>
We need to also remove code that sets
crtc_state->hw.adjusted_mode.crtc_vtotal with intel_vrr_vmin_vtotal().
Its not a fix per se, the specs were changed, since there were some
issues found with some panels.
Regards,
Ankit
---
drivers/gpu/drm/i915/display/intel_display.c | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c
b/drivers/gpu/drm/i915/display/intel_display.c
index e2e4b00a8fa9..eb54f20b1859 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -2731,15 +2731,6 @@ static void intel_set_transcoder_timings(const struct
intel_crtc_state *crtc_sta
HSYNC_START(adjusted_mode->crtc_hsync_start - 1) |
HSYNC_END(adjusted_mode->crtc_hsync_end - 1));
- /*
- * For platforms that always use VRR Timing Generator, the VTOTAL.Vtotal
- * bits are not required. Since the support for these bits is going to
- * be deprecated in upcoming platforms, avoid writing these bits for the
- * platforms that do not use legacy Timing Generator.
- */
- if (intel_vrr_always_use_vrr_tg(display))
- crtc_vtotal = 1;
-
intel_de_write(display, TRANS_VTOTAL(display, cpu_transcoder),
VACTIVE(crtc_vdisplay - 1) |
VTOTAL(crtc_vtotal - 1));
@@ -2826,14 +2817,6 @@ static void intel_set_transcoder_timings_lrr(const
struct intel_crtc_state *crtc
intel_de_write(display, TRANS_VSYNC(display, cpu_transcoder),
VSYNC_START(adjusted_mode->crtc_vsync_start - 1) |
VSYNC_END(adjusted_mode->crtc_vsync_end - 1));
- /*
- * For platforms that always use VRR Timing Generator, the VTOTAL.Vtotal
- * bits are not required. Since the support for these bits is going to
- * be deprecated in upcoming platforms, avoid writing these bits for the
- * platforms that do not use legacy Timing Generator.
- */
- if (intel_vrr_always_use_vrr_tg(display))
- crtc_vtotal = 1;
/*
* The double buffer latch point for TRANS_VTOTAL