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

Ankit Nautiyal ankit.k.nautiyal at intel.com
Tue Feb 4 09:32:39 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.

v2: Add the check for intel_crtc_update_active_timings also.

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

diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c
index 8abcf4c2cfe7..3522b4326c43 100644
--- a/drivers/gpu/drm/i915/display/intel_vblank.c
+++ b/drivers/gpu/drm/i915/display/intel_vblank.c
@@ -546,7 +546,7 @@ void intel_crtc_update_active_timings(const struct intel_crtc_state *crtc_state,
 	intel_crtc_active_timings(&adjusted_mode, &vmax_vblank_start,
 				  crtc_state, vrr_mode);
 
-	if (vrr_mode != INTEL_VRRTG_MODE_NONE)
+	if (vrr_mode != INTEL_VRRTG_MODE_NONE && !intel_vrr_always_use_vrr_tg(display))
 		drm_WARN_ON(display->drm, (mode_flags & I915_MODE_FLAG_VRR) == 0);
 	else
 		mode_flags &= ~I915_MODE_FLAG_VRR;
@@ -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-trybot mailing list