Use the vblank pointer instead of a dev, pipe pair to simplify code.

drm_vblank_disable_and_save() is also no longer used outside of
drm_vblank.c; make it static while at it.

Signed-off-by: Jani Nikula <[email protected]>
---
 drivers/gpu/drm/drm_internal.h | 1 -
 drivers/gpu/drm/drm_vblank.c   | 8 ++++----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
index e9c85c3681f1..6a7b53de03a8 100644
--- a/drivers/gpu/drm/drm_internal.h
+++ b/drivers/gpu/drm/drm_internal.h
@@ -100,7 +100,6 @@ static inline bool drm_vblank_passed(u64 seq, u64 ref)
        return (seq - ref) <= (1 << 23);
 }
 
-void drm_vblank_disable_and_save(struct drm_device *dev, unsigned int pipe);
 int drm_vblank_get(struct drm_vblank_crtc *vblank);
 void drm_vblank_put(struct drm_vblank_crtc *vblank);
 u64 drm_vblank_count(struct drm_vblank_crtc *vblank);
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index ee9355d5069b..44fb8d225485 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -462,9 +462,9 @@ static void __disable_vblank(struct drm_vblank_crtc *vblank)
  * are preserved, even if there are any spurious vblank irq's after
  * disable.
  */
-void drm_vblank_disable_and_save(struct drm_device *dev, unsigned int pipe)
+static void drm_vblank_disable_and_save(struct drm_vblank_crtc *vblank)
 {
-       struct drm_vblank_crtc *vblank = drm_vblank_crtc(dev, pipe);
+       struct drm_device *dev = vblank->dev;
        unsigned long irqflags;
 
        assert_spin_locked(&dev->vbl_lock);
@@ -509,7 +509,7 @@ static void vblank_disable_fn(struct timer_list *t)
        spin_lock_irqsave(&dev->vbl_lock, irqflags);
        if (atomic_read(&vblank->refcount) == 0 && vblank->enabled) {
                drm_dbg_core(dev, "disabling vblank on crtc %u\n", pipe);
-               drm_vblank_disable_and_save(dev, pipe);
+               drm_vblank_disable_and_save(vblank);
        }
        spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
 }
@@ -1355,7 +1355,7 @@ void drm_crtc_vblank_off(struct drm_crtc *crtc)
        /* Avoid redundant vblank disables without previous
         * drm_crtc_vblank_on(). */
        if (drm_core_check_feature(dev, DRIVER_ATOMIC) || !vblank->inmodeset)
-               drm_vblank_disable_and_save(dev, pipe);
+               drm_vblank_disable_and_save(vblank);
 
        wake_up(&vblank->queue);
 
-- 
2.47.3

Reply via email to