[PATCH 09/18] drm/i915: Extract intel_mode_vblank_delay()

Nautiyal, Ankit K ankit.k.nautiyal at intel.com
Fri Jan 3 11:34:54 UTC 2025


On 12/11/2024 2:39 AM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Extract the code that computes the hardware centric view
> of the vblank delay into a helper. We;ll need a slightly

typo: we'll


> different variant for VRR soon.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>


> ---
>   drivers/gpu/drm/i915/display/intel_dsb.c    | 3 +--
>   drivers/gpu/drm/i915/display/intel_vblank.c | 8 ++++++--
>   drivers/gpu/drm/i915/display/intel_vblank.h | 1 +
>   3 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c b/drivers/gpu/drm/i915/display/intel_dsb.c
> index fcb8bf9cb313..d755825edb35 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsb.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsb.c
> @@ -130,8 +130,7 @@ pre_commit_crtc_state(struct intel_atomic_state *state,
>   
>   static int dsb_vblank_delay(const struct intel_crtc_state *crtc_state)
>   {
> -	return intel_mode_vblank_start(&crtc_state->hw.adjusted_mode) -
> -		intel_mode_vdisplay(&crtc_state->hw.adjusted_mode);
> +	return intel_mode_vblank_delay(&crtc_state->hw.adjusted_mode);
>   }
>   
>   static int dsb_vtotal(struct intel_atomic_state *state,
> diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c
> index 6f0e0c64187d..ee33a49d9873 100644
> --- a/drivers/gpu/drm/i915/display/intel_vblank.c
> +++ b/drivers/gpu/drm/i915/display/intel_vblank.c
> @@ -597,6 +597,11 @@ int intel_mode_vtotal(const struct drm_display_mode *mode)
>   	return vtotal;
>   }
>   
> +int intel_mode_vblank_delay(const struct drm_display_mode *mode)
> +{
> +	return intel_mode_vblank_start(mode) - intel_mode_vdisplay(mode);
> +}
> +
>   void intel_vblank_evade_init(const struct intel_crtc_state *old_crtc_state,
>   			     const struct intel_crtc_state *new_crtc_state,
>   			     struct intel_vblank_evade_ctx *evade)
> @@ -653,8 +658,7 @@ void intel_vblank_evade_init(const struct intel_crtc_state *old_crtc_state,
>   	 */
>   	if (intel_color_uses_dsb(new_crtc_state) ||
>   	    new_crtc_state->update_m_n || new_crtc_state->update_lrr)
> -		evade->min -= intel_mode_vblank_start(adjusted_mode) -
> -			intel_mode_vdisplay(adjusted_mode);
> +		evade->min -= intel_mode_vblank_delay(adjusted_mode);
>   }
>   
>   /* must be called with vblank interrupt already enabled! */
> diff --git a/drivers/gpu/drm/i915/display/intel_vblank.h b/drivers/gpu/drm/i915/display/intel_vblank.h
> index 6d7336256982..12c8e1f829a4 100644
> --- a/drivers/gpu/drm/i915/display/intel_vblank.h
> +++ b/drivers/gpu/drm/i915/display/intel_vblank.h
> @@ -24,6 +24,7 @@ int intel_mode_vdisplay(const struct drm_display_mode *mode);
>   int intel_mode_vblank_start(const struct drm_display_mode *mode);
>   int intel_mode_vblank_end(const struct drm_display_mode *mode);
>   int intel_mode_vtotal(const struct drm_display_mode *mode);
> +int intel_mode_vblank_delay(const struct drm_display_mode *mode);
>   
>   void intel_vblank_evade_init(const struct intel_crtc_state *old_crtc_state,
>   			     const struct intel_crtc_state *new_crtc_state,


More information about the Intel-gfx mailing list