]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/vrr: Use set_context_latency instead of intel_vrr_real_vblank_delay()
authorAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Wed, 24 Sep 2025 14:15:35 +0000 (19:45 +0530)
committerAnkit Nautiyal <ankit.k.nautiyal@intel.com>
Thu, 25 Sep 2025 13:08:15 +0000 (18:38 +0530)
The helper intel_vrr_real_vblank_delay() was added to account for the
SCL lines for TGL where we do not have the TRANS_SET_CONTEXT_LATENCY.

Now, since we already are tracking the SCL with new member
`set_context_latency` use it directly instead of the helper.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/20250924141542.3122126-4-ankit.k.nautiyal@intel.com
drivers/gpu/drm/i915/display/intel_vrr.c

index 98d28de2e451cfb4813f0a2deb6a3667f5edb46f..e188e5f079875b604458347e3ceba2b044a9141f 100644 (file)
@@ -79,12 +79,6 @@ intel_vrr_check_modeset(struct intel_atomic_state *state)
        }
 }
 
-static int intel_vrr_real_vblank_delay(const struct intel_crtc_state *crtc_state)
-{
-       return crtc_state->hw.adjusted_mode.crtc_vblank_start -
-               crtc_state->hw.adjusted_mode.crtc_vdisplay;
-}
-
 static int intel_vrr_extra_vblank_delay(struct intel_display *display)
 {
        /*
@@ -102,7 +96,7 @@ int intel_vrr_vblank_delay(const struct intel_crtc_state *crtc_state)
 {
        struct intel_display *display = to_intel_display(crtc_state);
 
-       return intel_vrr_real_vblank_delay(crtc_state) +
+       return crtc_state->set_context_latency +
                intel_vrr_extra_vblank_delay(display);
 }
 
@@ -263,7 +257,7 @@ static int intel_vrr_hw_value(const struct intel_crtc_state *crtc_state,
        if (DISPLAY_VER(display) >= 13)
                return value;
        else
-               return value - intel_vrr_real_vblank_delay(crtc_state);
+               return value - crtc_state->set_context_latency;
 }
 
 /*
@@ -768,9 +762,9 @@ void intel_vrr_get_config(struct intel_crtc_state *crtc_state)
 
                if (DISPLAY_VER(display) < 13) {
                        /* undo what intel_vrr_hw_value() does when writing the values */
-                       crtc_state->vrr.flipline += intel_vrr_real_vblank_delay(crtc_state);
-                       crtc_state->vrr.vmax += intel_vrr_real_vblank_delay(crtc_state);
-                       crtc_state->vrr.vmin += intel_vrr_real_vblank_delay(crtc_state);
+                       crtc_state->vrr.flipline += crtc_state->set_context_latency;
+                       crtc_state->vrr.vmax += crtc_state->set_context_latency;
+                       crtc_state->vrr.vmin += crtc_state->set_context_latency;
 
                        crtc_state->vrr.vmin += intel_vrr_vmin_flipline_offset(display);
                }