Re: [Intel-gfx] [PATCH 2/4] drm/i915: Do vrr push before sampling the freame counter

Shankar, Uma
2021-11-08T19:36:54Z

> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville Syrjala
> Sent: Thursday, October 21, 2021 4:04 AM
> To: intel-gfx@lists.freedesktop.org
> Cc: Navare, Manasi D <manasi.d.navare@intel.com>
> Subject: [Intel-gfx] [PATCH 2/4] drm/i915: Do vrr push before sampling the freame
> counter

Nit: typo in frame

> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> 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>
> ---
> drivers/gpu/drm/i915/display/intel_crtc.c | 6 +++---
> 1 file 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);
> +

This looks right to me. We are at risk of arming vblank before the push,
i.e. actual vblank termination.

With the typo fixed:
Reviewed-by: Uma Shankar <uma.shankar@intel.com>

> /*
> * 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;
>
> --
> 2.32.0