aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/gpu/drm/i915/display/intel_display_types.h
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2021-12-01 15:57:03 +0200
committerJani Nikula <jani.nikula@intel.com>2021-12-02 11:39:50 +0200
commit7b06894b9b902f540b23e5c235570b224d63ec5e (patch)
tree191dd2ddeb11923fe3b8e72342e4e4da20683bd5 /drivers/gpu/drm/i915/display/intel_display_types.h
parentdrm/i915/dp: Perform 30ms delay after source OUI write (diff)
downloadwireguard-linux-7b06894b9b902f540b23e5c235570b224d63ec5e.tar.xz
wireguard-linux-7b06894b9b902f540b23e5c235570b224d63ec5e.zip
drm/i915/display: add intel_crtc_wait_for_next_vblank() and use it
intel_wait_for_vblank() goes through a pipe to crtc lookup, while in most cases we already have the crtc available. Avoid the extra lookups by adding an intel_crtc based helper. v2: - Add intel_crtc_wait_for_next_vblank() helper (Ville) Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/90cfbd8c3e79a742b0ee9e3ae75493acb0785dbb.1638366969.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_display_types.h')
-rw-r--r--drivers/gpu/drm/i915/display/intel_display_types.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index b9c967837872..286c55c45f01 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -2020,20 +2020,26 @@ intel_crtc_needs_modeset(const struct intel_crtc_state *crtc_state)
}
static inline void
+intel_crtc_wait_for_next_vblank(struct intel_crtc *crtc)
+{
+ drm_crtc_wait_one_vblank(&crtc->base);
+}
+
+static inline void
intel_wait_for_vblank(struct drm_i915_private *dev_priv, enum pipe pipe)
{
struct intel_crtc *crtc = intel_get_crtc_for_pipe(dev_priv, pipe);
- drm_crtc_wait_one_vblank(&crtc->base);
+ intel_crtc_wait_for_next_vblank(crtc);
}
static inline void
intel_wait_for_vblank_if_active(struct drm_i915_private *dev_priv, enum pipe pipe)
{
- const struct intel_crtc *crtc = intel_get_crtc_for_pipe(dev_priv, pipe);
+ struct intel_crtc *crtc = intel_get_crtc_for_pipe(dev_priv, pipe);
if (crtc->active)
- intel_wait_for_vblank(dev_priv, pipe);
+ intel_crtc_wait_for_next_vblank(crtc);
}
static inline bool intel_modifier_uses_dpt(struct drm_i915_private *i915, u64 modifier)