With the prep work in place, we can get rid of _drm_vblank_get(), _drm_vblank_put(), and _drm_vblank_count().
Signed-off-by: Jani Nikula <[email protected]> --- drivers/gpu/drm/drm_vblank.c | 44 ++++++++---------------------------- 1 file changed, 10 insertions(+), 34 deletions(-) diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c index 91bedf8e6ea8..1c0ade41a57f 100644 --- a/drivers/gpu/drm/drm_vblank.c +++ b/drivers/gpu/drm/drm_vblank.c @@ -403,14 +403,6 @@ u64 drm_vblank_count(struct drm_vblank_crtc *vblank) return count; } -static u64 _drm_vblank_count(struct drm_device *dev, unsigned int pipe) -{ - if (drm_WARN_ON(dev, pipe >= dev->num_crtcs)) - return 0; - - return drm_vblank_count(drm_vblank_crtc(dev, pipe)); -} - /** * drm_crtc_accurate_vblank_count - retrieve the master vblank counter * @crtc: which counter to retrieve @@ -940,7 +932,7 @@ drm_get_last_vbltimestamp(struct drm_device *dev, unsigned int pipe, */ u64 drm_crtc_vblank_count(struct drm_crtc *crtc) { - return _drm_vblank_count(crtc->dev, drm_crtc_index(crtc)); + return drm_vblank_count(drm_crtc_vblank_crtc(crtc)); } EXPORT_SYMBOL(drm_crtc_vblank_count); @@ -1238,14 +1230,6 @@ int drm_vblank_get(struct drm_vblank_crtc *vblank) return ret; } -static int _drm_vblank_get(struct drm_device *dev, unsigned int pipe) -{ - if (drm_WARN_ON(dev, pipe >= dev->num_crtcs)) - return -EINVAL; - - return drm_vblank_get(drm_vblank_crtc(dev, pipe)); -} - /** * drm_crtc_vblank_get - get a reference count on vblank events * @crtc: which CRTC to own @@ -1258,7 +1242,7 @@ static int _drm_vblank_get(struct drm_device *dev, unsigned int pipe) */ int drm_crtc_vblank_get(struct drm_crtc *crtc) { - return _drm_vblank_get(crtc->dev, drm_crtc_index(crtc)); + return drm_vblank_get(drm_crtc_vblank_crtc(crtc)); } EXPORT_SYMBOL(drm_crtc_vblank_get); @@ -1282,14 +1266,6 @@ void drm_vblank_put(struct drm_vblank_crtc *vblank) } } -static void _drm_vblank_put(struct drm_device *dev, unsigned int pipe) -{ - if (drm_WARN_ON(dev, pipe >= dev->num_crtcs)) - return; - - drm_vblank_put(drm_vblank_crtc(dev, pipe)); -} - /** * drm_crtc_vblank_put - give up ownership of vblank events * @crtc: which counter to give up @@ -1300,7 +1276,7 @@ static void _drm_vblank_put(struct drm_device *dev, unsigned int pipe) */ void drm_crtc_vblank_put(struct drm_crtc *crtc) { - _drm_vblank_put(crtc->dev, drm_crtc_index(crtc)); + drm_vblank_put(drm_crtc_vblank_crtc(crtc)); } EXPORT_SYMBOL(drm_crtc_vblank_put); @@ -1401,7 +1377,7 @@ void drm_crtc_vblank_off(struct drm_crtc *crtc) "wanted %llu, current %llu\n", e->sequence, seq); list_del(&e->base.link); - _drm_vblank_put(dev, pipe); + drm_vblank_put(vblank); send_vblank_event(dev, e, seq, now); } @@ -1677,7 +1653,7 @@ static int drm_queue_vblank_event(struct drm_device *dev, unsigned int pipe, e->sequence = req_seq; if (drm_vblank_passed(seq, req_seq)) { - _drm_vblank_put(dev, pipe); + drm_vblank_put(vblank); send_vblank_event(dev, e, seq, now); vblwait->reply.sequence = seq; } else { @@ -1694,7 +1670,7 @@ static int drm_queue_vblank_event(struct drm_device *dev, unsigned int pipe, spin_unlock_irq(&dev->event_lock); kfree(e); err_put: - _drm_vblank_put(dev, pipe); + drm_vblank_put(vblank); return ret; } @@ -1812,14 +1788,14 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void *data, return 0; } - ret = _drm_vblank_get(dev, pipe); + ret = drm_vblank_get(vblank); if (ret) { drm_dbg_core(dev, "crtc %d failed to acquire vblank counter, %d\n", pipe, ret); return ret; } - seq = _drm_vblank_count(dev, pipe); + seq = drm_vblank_count(vblank); switch (vblwait->request.type & _DRM_VBLANK_TYPES_MASK) { case _DRM_VBLANK_RELATIVE: @@ -1855,7 +1831,7 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void *data, drm_dbg_core(dev, "waiting on vblank count %llu, crtc %u\n", req_seq, pipe); wait = wait_event_interruptible_timeout(vblank->queue, - drm_vblank_passed(_drm_vblank_count(dev, pipe), req_seq) || + drm_vblank_passed(drm_vblank_count(vblank), req_seq) || !READ_ONCE(vblank->enabled), msecs_to_jiffies(3000)); @@ -1885,7 +1861,7 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void *data, } done: - _drm_vblank_put(dev, pipe); + drm_vblank_put(vblank); return ret; } -- 2.47.3
