]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915: Use drm_crtc_vblank_crtc()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 8 Apr 2024 19:06:09 +0000 (22:06 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 8 May 2024 18:52:47 +0000 (21:52 +0300)
Replace the open coded drm_crtc_vblank_crtc() with the real
thing.

Cc: intel-gfx@lists.freedesktop.org
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240408190611.24914-3-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_crtc.c
drivers/gpu/drm/i915/display/intel_vblank.c

index 25593f6aae7de0200fa349ac9a9825b5b80938d9..339010384b86df64ee33588ad8cd6086312ebeda 100644 (file)
@@ -78,8 +78,7 @@ void intel_wait_for_vblank_if_active(struct drm_i915_private *i915,
 
 u32 intel_crtc_get_vblank_counter(struct intel_crtc *crtc)
 {
-       struct drm_device *dev = crtc->base.dev;
-       struct drm_vblank_crtc *vblank = &dev->vblank[drm_crtc_index(&crtc->base)];
+       struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base);
 
        if (!crtc->active)
                return 0;
index baf7354cb6e2c472d89180e0ad3e9f2539904699..951190bcbc5068cf9cfcefd480fb75e6a7bb377f 100644 (file)
@@ -132,8 +132,7 @@ u32 g4x_get_vblank_counter(struct drm_crtc *crtc)
 static u32 intel_crtc_scanlines_since_frame_timestamp(struct intel_crtc *crtc)
 {
        struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
-       struct drm_vblank_crtc *vblank =
-               &crtc->base.dev->vblank[drm_crtc_index(&crtc->base)];
+       struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base);
        const struct drm_display_mode *mode = &vblank->hwmode;
        u32 htotal = mode->crtc_htotal;
        u32 clock = mode->crtc_clock;
@@ -178,8 +177,7 @@ static u32 intel_crtc_scanlines_since_frame_timestamp(struct intel_crtc *crtc)
  */
 static u32 __intel_get_crtc_scanline_from_timestamp(struct intel_crtc *crtc)
 {
-       struct drm_vblank_crtc *vblank =
-               &crtc->base.dev->vblank[drm_crtc_index(&crtc->base)];
+       struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base);
        const struct drm_display_mode *mode = &vblank->hwmode;
        u32 vblank_start = mode->crtc_vblank_start;
        u32 vtotal = mode->crtc_vtotal;
@@ -200,17 +198,14 @@ static int __intel_get_crtc_scanline(struct intel_crtc *crtc)
 {
        struct drm_device *dev = crtc->base.dev;
        struct drm_i915_private *dev_priv = to_i915(dev);
-       const struct drm_display_mode *mode;
-       struct drm_vblank_crtc *vblank;
+       struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base);
+       const struct drm_display_mode *mode = &vblank->hwmode;
        enum pipe pipe = crtc->pipe;
        int position, vtotal;
 
        if (!crtc->active)
                return 0;
 
-       vblank = &crtc->base.dev->vblank[drm_crtc_index(&crtc->base)];
-       mode = &vblank->hwmode;
-
        if (crtc->mode_flags & I915_MODE_FLAG_GET_SCANLINE_FROM_TIMESTAMP)
                return __intel_get_crtc_scanline_from_timestamp(crtc);
 
@@ -254,8 +249,7 @@ static int __intel_get_crtc_scanline(struct intel_crtc *crtc)
 
 int intel_crtc_scanline_to_hw(struct intel_crtc *crtc, int scanline)
 {
-       const struct drm_vblank_crtc *vblank =
-               &crtc->base.dev->vblank[drm_crtc_index(&crtc->base)];
+       const struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base);
        const struct drm_display_mode *mode = &vblank->hwmode;
        int vtotal;