> -----Original Message----- > From: Nautiyal, Ankit K <[email protected]> > Sent: 28 November 2025 18:52 > To: Golani, Mitulkumar Ajitkumar <[email protected]>; > [email protected] > Cc: [email protected]; [email protected] > Subject: Re: [PATCH v9 13/17] drm/i915/display: Wait for VRR PUSH status > update > > > On 11/27/2025 2:46 PM, Mitul Golani wrote: > > 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) > > > > Signed-off-by: Mitul Golani <[email protected]> > > --- > > drivers/gpu/drm/i915/display/intel_vrr.c | 17 +++++++++++++++-- > > 1 file changed, 15 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c > > b/drivers/gpu/drm/i915/display/intel_vrr.c > > index 11f06a5b854a..e5cff3892cb1 100644 > > --- a/drivers/gpu/drm/i915/display/intel_vrr.c > > +++ b/drivers/gpu/drm/i915/display/intel_vrr.c > > @@ -1081,10 +1081,23 @@ 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; > > + if (crtc_state->vrr.dc_balance.enable) { > > + return intel_vrr_dcb_vmin_vblank_start(crtc_state) - > > + crtc_state->set_context_latency; > > + } else { > > + return intel_vrr_vmin_vblank_start(crtc_state) - > > + crtc_state->set_context_latency; > > + } > > } > > > This can be simplified to: > > int intel_vrr_vmin_safe_window_end(const struct intel_crtc_state > *crtc_state) > { > 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; > }
Sure, I will simplify this function in next revision based on suggestion. Thanks > > Regards, > > Ankit > > > > > int intel_vrr_dcb_vmin_vblank_start_next(const struct > > intel_crtc_state *crtc_state)
