diff options
author | Jani Nikula <jani.nikula@intel.com> | 2021-12-01 15:57:03 +0200 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2021-12-02 11:39:50 +0200 |
commit | 7b06894b9b902f540b23e5c235570b224d63ec5e (patch) | |
tree | 191dd2ddeb11923fe3b8e72342e4e4da20683bd5 /drivers/gpu/drm/i915/display/intel_display_types.h | |
parent | drm/i915/dp: Perform 30ms delay after source OUI write (diff) | |
download | wireguard-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.h | 12 |
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) |