summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/display/intel_crtc.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2021-10-21 01:33:37 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2021-11-10 00:18:06 +0200
commit6f9976bd1310d123921ba2c20e8c101057087285 (patch)
tree176332e7d1883e154d5d9dcd09126c31a46050d5 /drivers/gpu/drm/i915/display/intel_crtc.c
parent38a1b50c0389f1ae385d007b02dec5f812b3e5ef (diff)
downloadlinux-6f9976bd1310d123921ba2c20e8c101057087285.tar.gz
linux-6f9976bd1310d123921ba2c20e8c101057087285.tar.bz2
linux-6f9976bd1310d123921ba2c20e8c101057087285.zip
drm/i915: Do vrr push before sampling the frame counter
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>
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_crtc.c')
-rw-r--r--drivers/gpu/drm/i915/display/intel_crtc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
index 254e67141a77..0f8b48b6911c 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -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;