]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915: Extract intel_mode_vblank_start()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 22 Jan 2021 23:26:33 +0000 (15:26 -0800)
committerManasi Navare <manasi.d.navare@intel.com>
Mon, 25 Jan 2021 23:22:13 +0000 (15:22 -0800)
We want to calculate the vblank_start for vblank evasion
differently for vrr. To make that nicer lets first extract
the current non-vrr case to a helper.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210122232647.22688-4-manasi.d.navare@intel.com
drivers/gpu/drm/i915/display/intel_sprite.c

index 138b971b4b219c46d0c25600d7f1bed694f0eb18..ae8124fdf7de96ec6bc65eb6776fcf35d23b56dd 100644 (file)
@@ -62,6 +62,16 @@ int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode,
                            1000 * adjusted_mode->crtc_htotal);
 }
 
+static int intel_mode_vblank_start(const struct drm_display_mode *mode)
+{
+       int vblank_start = mode->crtc_vblank_start;
+
+       if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+               vblank_start = DIV_ROUND_UP(vblank_start, 2);
+
+       return vblank_start;
+}
+
 /**
  * intel_pipe_update_start() - start update of a set of display registers
  * @new_crtc_state: the new crtc state
@@ -90,9 +100,7 @@ void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state)
        if (new_crtc_state->uapi.async_flip)
                return;
 
-       vblank_start = adjusted_mode->crtc_vblank_start;
-       if (adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE)
-               vblank_start = DIV_ROUND_UP(vblank_start, 2);
+       vblank_start = intel_mode_vblank_start(adjusted_mode);
 
        /* FIXME needs to be calibrated sensibly */
        min = vblank_start - intel_usecs_to_scanlines(adjusted_mode,