> -----Original Message-----
> From: Golani, Mitulkumar Ajitkumar <[email protected]>
> Sent: Tuesday, December 2, 2025 1:07 PM
> To: [email protected]
> Cc: [email protected]; Golani, Mitulkumar Ajitkumar
> <[email protected]>; Nautiyal, Ankit K
> <[email protected]>; [email protected]; Shankar, Uma
> <[email protected]>; Nikula, Jani <[email protected]>
> Subject: [PATCH v10 13/17] drm/i915/display: Wait for VRR PUSH status update
> 
> After VRR Push is sent, need to wait till flipline decision boundary to get 
> Push bit
> to get cleared.
> 
> --v2:
> - Adjust delays to vrr vmin vblank delays. (Ankit)
> 
> --v3:
> - Change intel_vrr_vmin_safe_window_end() so that
> intel_dsb_wait_for_delayed_vblank() uses correct delay. (Ankit)
> 
> --v4:
> - Simplify intel_vrr_vmin_safe_window_end implementation. (Ankit)

Looks Good to me.
Reviewed-by: Uma Shankar <[email protected]>

> Signed-off-by: Mitul Golani <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_vrr.c | 15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c
> b/drivers/gpu/drm/i915/display/intel_vrr.c
> index 3db61d1f0124..4c1470dcd3bb 100644
> --- a/drivers/gpu/drm/i915/display/intel_vrr.c
> +++ b/drivers/gpu/drm/i915/display/intel_vrr.c
> @@ -1095,10 +1095,21 @@ int intel_vrr_safe_window_start(const struct
> intel_crtc_state *crtc_state)
>               return crtc_state->hw.adjusted_mode.crtc_vdisplay;
>  }
> 
> +static int
> +intel_vrr_dcb_vmin_vblank_start(const struct intel_crtc_state
> +*crtc_state) {
> +     return (intel_vrr_dcb_vmin_vblank_start_next(crtc_state) < 0) ?
> +             intel_vrr_dcb_vmin_vblank_start_final(crtc_state) :
> +             intel_vrr_dcb_vmin_vblank_start_next(crtc_state);
> +}
> +
>  int intel_vrr_vmin_safe_window_end(const struct intel_crtc_state 
> *crtc_state)  {
> -     return intel_vrr_vmin_vblank_start(crtc_state) -
> -            crtc_state->set_context_latency;
> +     int vmin_vblank_start = crtc_state->vrr.dc_balance.enable ?
> +                     intel_vrr_dcb_vmin_vblank_start(crtc_state) :
> +                     intel_vrr_vmin_vblank_start(crtc_state);
> +
> +     return vmin_vblank_start - crtc_state->set_context_latency;
>  }
> 
>  int intel_vrr_dcb_vmin_vblank_start_next(const struct intel_crtc_state
> *crtc_state)
> --
> 2.48.1

Reply via email to