From 1fea297844413e3e775332faa61229be8ff3679e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Tue, 28 May 2024 21:56:42 +0300 Subject: [PATCH] drm/i915: Extract intel_mode_vblank_end() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Extract intel_mode_vblank_end() in the same vein as intel_mode_vblank_start(). While we have only one use of this it seems nicer to unify the approach. Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20240528185647.7765-3-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula --- drivers/gpu/drm/i915/display/intel_vblank.c | 16 ++++++++++++---- drivers/gpu/drm/i915/display/intel_vblank.h | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c index 1f57596f82081..ba56015f2c407 100644 --- a/drivers/gpu/drm/i915/display/intel_vblank.c +++ b/drivers/gpu/drm/i915/display/intel_vblank.c @@ -312,12 +312,10 @@ static bool i915_get_crtc_scanoutpos(struct drm_crtc *_crtc, hsync_start = mode->crtc_hsync_start; vtotal = mode->crtc_vtotal; vbl_start = intel_mode_vblank_start(mode); - vbl_end = mode->crtc_vblank_end; + vbl_end = intel_mode_vblank_end(mode); - if (mode->flags & DRM_MODE_FLAG_INTERLACE) { - vbl_end /= 2; + if (mode->flags & DRM_MODE_FLAG_INTERLACE) vtotal /= 2; - } /* * Enter vblank critical section, as we will do multiple @@ -584,6 +582,16 @@ int intel_mode_vblank_start(const struct drm_display_mode *mode) return vblank_start; } +int intel_mode_vblank_end(const struct drm_display_mode *mode) +{ + int vblank_end = mode->crtc_vblank_end; + + if (mode->flags & DRM_MODE_FLAG_INTERLACE) + vblank_end /= 2; + + return vblank_end; +} + 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) diff --git a/drivers/gpu/drm/i915/display/intel_vblank.h b/drivers/gpu/drm/i915/display/intel_vblank.h index 08825a4d8fb7b..6f11fd070f198 100644 --- a/drivers/gpu/drm/i915/display/intel_vblank.h +++ b/drivers/gpu/drm/i915/display/intel_vblank.h @@ -21,6 +21,7 @@ struct intel_vblank_evade_ctx { }; int intel_mode_vblank_start(const struct drm_display_mode *mode); +int intel_mode_vblank_end(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, -- 2.47.2