diff options
| -rw-r--r-- | drivers/gpu/drm/drm_internal.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/drm_vblank.c | 19 | ||||
| -rw-r--r-- | include/drm/drm_vblank.h | 1 |
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 */ |
| 58 | extern unsigned int drm_timestamp_monotonic; | 58 | extern unsigned int drm_timestamp_monotonic; |
| 59 | void drm_vblank_disable_and_save(struct drm_device *dev, unsigned int pipe); | 59 | void drm_vblank_disable_and_save(struct drm_device *dev, unsigned int pipe); |
| 60 | void drm_vblank_cleanup(struct drm_device *dev); | ||
| 60 | 61 | ||
| 61 | /* IOCTLS */ | 62 | /* IOCTLS */ |
| 62 | int drm_wait_vblank_ioctl(struct drm_device *dev, void *data, | 63 | int 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 | */ | ||
| 410 | void drm_vblank_cleanup(struct drm_device *dev) | 397 | void 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 | } |
| 431 | EXPORT_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); | |||
| 168 | void drm_crtc_vblank_off(struct drm_crtc *crtc); | 168 | void drm_crtc_vblank_off(struct drm_crtc *crtc); |
| 169 | void drm_crtc_vblank_reset(struct drm_crtc *crtc); | 169 | void drm_crtc_vblank_reset(struct drm_crtc *crtc); |
| 170 | void drm_crtc_vblank_on(struct drm_crtc *crtc); | 170 | void drm_crtc_vblank_on(struct drm_crtc *crtc); |
| 171 | void drm_vblank_cleanup(struct drm_device *dev); | ||
| 172 | u32 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc); | 171 | u32 drm_crtc_accurate_vblank_count(struct drm_crtc *crtc); |
| 173 | 172 | ||
| 174 | bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, | 173 | bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, |
