aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/drm_internal.h1
-rw-r--r--drivers/gpu/drm/drm_vblank.c19
-rw-r--r--include/drm/drm_vblank.h1
3 files changed, 3 insertions, 18 deletions
diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
index f89371e920e6..068b685608cf 100644
--- a/drivers/gpu/drm/drm_internal.h
+++ b/drivers/gpu/drm/drm_internal.h
@@ -57,6 +57,7 @@ int drm_gem_name_info(struct seq_file *m, void *data);
57/* drm_vblank.c */ 57/* drm_vblank.c */
58extern unsigned int drm_timestamp_monotonic; 58extern unsigned int drm_timestamp_monotonic;
59void drm_vblank_disable_and_save(struct drm_device *dev, unsigned int pipe); 59void drm_vblank_disable_and_save(struct drm_device *dev, unsigned int pipe);
60void drm_vblank_cleanup(struct drm_device *dev);
60 61
61/* IOCTLS */ 62/* IOCTLS */
62int drm_wait_vblank_ioctl(struct drm_device *dev, void *data, 63int drm_wait_vblank_ioctl(struct drm_device *dev, void *data,
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 7e3f59182571..05d043e9219f 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -394,19 +394,6 @@ static void vblank_disable_fn(unsigned long arg)
394 spin_unlock_irqrestore(&dev->vbl_lock, irqflags); 394 spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
395} 395}
396 396
397/**
398 * drm_vblank_cleanup - cleanup vblank support
399 * @dev: DRM device
400 *
401 * This function cleans up any resources allocated in drm_vblank_init(). It is
402 * called by the DRM core when @dev is finalized.
403 *
404 * Drivers can call drm_vblank_cleanup() if they need to quiescent the vblank
405 * interrupt in their unload code. But in general this should be handled by
406 * disabling all active &drm_crtc through e.g. drm_atomic_helper_shutdown, which
407 * should end up calling drm_crtc_vblank_off().
408 *
409 */
410void drm_vblank_cleanup(struct drm_device *dev) 397void drm_vblank_cleanup(struct drm_device *dev)
411{ 398{
412 unsigned int pipe; 399 unsigned int pipe;
@@ -428,7 +415,6 @@ void drm_vblank_cleanup(struct drm_device *dev)
428 415
429 dev->num_crtcs = 0; 416 dev->num_crtcs = 0;
430} 417}
431EXPORT_SYMBOL(drm_vblank_cleanup);
432 418
433/** 419/**
434 * drm_vblank_init - initialize vblank support 420 * drm_vblank_init - initialize vblank support
@@ -436,9 +422,8 @@ EXPORT_SYMBOL(drm_vblank_cleanup);
436 * @num_crtcs: number of CRTCs supported by @dev 422 * @num_crtcs: number of CRTCs supported by @dev
437 * 423 *
438 * This function initializes vblank support for @num_crtcs display pipelines. 424 * This function initializes vblank support for @num_crtcs display pipelines.
439 * Drivers do not need to call drm_vblank_cleanup(), cleanup is already handled 425 * Cleanup is handled by the DRM core, or through calling drm_dev_fini() for
440 * by the DRM core, or through calling drm_dev_fini() for drivers with a 426 * drivers with a &drm_driver.release callback.
441 * &drm_driver.release callback.
442 * 427 *
443 * Returns: 428 * Returns:
444 * Zero on success or a negative error code on failure. 429 * Zero on success or a negative error code on failure.
diff --git a/include/drm/drm_vblank.h b/include/drm/drm_vblank.h
index 4ceef128582f..7fba9efe4951 100644
--- a/include/drm/drm_vblank.h
+++ b/include/drm/drm_vblank.h
@@ -168,7 +168,6 @@ void drm_crtc_wait_one_vblank(struct drm_crtc *crtc);
168void drm_crtc_vblank_off(struct drm_crtc *crtc); 168void drm_crtc_vblank_off(struct drm_crtc *crtc);
169void drm_crtc_vblank_reset(struct drm_crtc *crtc); 169void drm_crtc_vblank_reset(struct drm_crtc *crtc);
170void drm_crtc_vblank_on(struct drm_crtc *crtc); 170void drm_crtc_vblank_on(struct drm_crtc *crtc);
171void drm_vblank_cleanup(struct drm_device *dev);
172u32 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc); 171u32 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc);
173 172
174bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, 173bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev,