]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915: Do vrr push before sampling the frame counter
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 20 Oct 2021 22:33:37 +0000 (01:33 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 9 Nov 2021 22:18:06 +0000 (00:18 +0200)
Do the vrr push before we sample the frame counter to
know when the commit has been latched. Doing these in the
wrong order could lead us to complete the flip before it
has actually happened.

Cc: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211020223339.669-3-ville.syrjala@linux.intel.com
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
drivers/gpu/drm/i915/display/intel_crtc.c

index 254e67141a77690d834cbbcbde1a91cce811486c..0f8b48b6911cc905a41918845efdb12b3cae9407 100644 (file)
@@ -542,6 +542,9 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state)
 
        trace_intel_pipe_update_end(crtc, end_vbl_count, scanline_end);
 
+       /* Send VRR Push to terminate Vblank */
+       intel_vrr_send_push(new_crtc_state);
+
        /*
         * Incase of mipi dsi command mode, we need to set frame update
         * request for every commit.
@@ -568,9 +571,6 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state)
 
        local_irq_enable();
 
-       /* Send VRR Push to terminate Vblank */
-       intel_vrr_send_push(new_crtc_state);
-
        if (intel_vgpu_active(dev_priv))
                return;