[PATCH 28/28] drm/i915/vblank: Avoid warning for platforms that always use VRR TG

Ankit Nautiyal ankit.k.nautiyal at intel.com
Mon Feb 3 12:38:40 UTC 2025


For fixed refresh rate timings, the VRR TG is not disabled and timings
are changed on the fly.
Modify the check for warning for changing timings with VRR TG disabled.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
---
 drivers/gpu/drm/i915/display/intel_vblank.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c
index 8abcf4c2cfe7..3053babcd0b0 100644
--- a/drivers/gpu/drm/i915/display/intel_vblank.c
+++ b/drivers/gpu/drm/i915/display/intel_vblank.c
@@ -670,9 +670,13 @@ void intel_vblank_evade_init(const struct intel_crtc_state *old_crtc_state,
 	adjusted_mode = &crtc_state->hw.adjusted_mode;
 
 	if (crtc->mode_flags & I915_MODE_FLAG_VRR) {
-		/* timing changes should happen with VRR disabled */
-		drm_WARN_ON(crtc->base.dev, intel_crtc_needs_modeset(new_crtc_state) ||
-			    new_crtc_state->update_m_n || new_crtc_state->update_lrr);
+		/*
+		 * For platforms that do not always use VRR Timing generator,
+		 * timing changes should happen with VRR disabled.
+		 */
+		if (!intel_vrr_always_use_vrr_tg(display))
+			drm_WARN_ON(crtc->base.dev, intel_crtc_needs_modeset(new_crtc_state) ||
+				    new_crtc_state->update_m_n || new_crtc_state->update_lrr);
 
 		if (intel_vrr_is_push_sent(crtc_state))
 			evade->vblank_start = intel_vrr_vmin_vblank_start(crtc_state);
-- 
2.45.2



More information about the Intel-gfx mailing list