Commit dc3260d0 authored by Thomas Zimmermann's avatar Thomas Zimmermann

drm/vkms: Convert to CRTC VBLANK callbacks

VBLANK callbacks in struct drm_driver are deprecated in favor of
their equivalents in struct drm_crtc_funcs. Convert vkms over.
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarRodrigo Siqueira <rodrigosiqueira@gmail.com>
Tested-by: default avatarRodrigo Siqueira <rodrigosiqueira@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200123135943.24140-20-tzimmermann@suse.de
parent 7e69ed6e
...@@ -76,10 +76,12 @@ static void vkms_disable_vblank(struct drm_crtc *crtc) ...@@ -76,10 +76,12 @@ static void vkms_disable_vblank(struct drm_crtc *crtc)
hrtimer_cancel(&out->vblank_hrtimer); hrtimer_cancel(&out->vblank_hrtimer);
} }
bool vkms_get_vblank_timestamp(struct drm_device *dev, unsigned int pipe, static bool vkms_get_vblank_timestamp(struct drm_crtc *crtc,
int *max_error, ktime_t *vblank_time, int *max_error, ktime_t *vblank_time,
bool in_vblank_irq) bool in_vblank_irq)
{ {
struct drm_device *dev = crtc->dev;
unsigned int pipe = crtc->index;
struct vkms_device *vkmsdev = drm_device_to_vkms_device(dev); struct vkms_device *vkmsdev = drm_device_to_vkms_device(dev);
struct vkms_output *output = &vkmsdev->output; struct vkms_output *output = &vkmsdev->output;
struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
...@@ -154,6 +156,7 @@ static const struct drm_crtc_funcs vkms_crtc_funcs = { ...@@ -154,6 +156,7 @@ static const struct drm_crtc_funcs vkms_crtc_funcs = {
.atomic_destroy_state = vkms_atomic_crtc_destroy_state, .atomic_destroy_state = vkms_atomic_crtc_destroy_state,
.enable_vblank = vkms_enable_vblank, .enable_vblank = vkms_enable_vblank,
.disable_vblank = vkms_disable_vblank, .disable_vblank = vkms_disable_vblank,
.get_vblank_timestamp = vkms_get_vblank_timestamp,
.get_crc_sources = vkms_get_crc_sources, .get_crc_sources = vkms_get_crc_sources,
.set_crc_source = vkms_set_crc_source, .set_crc_source = vkms_set_crc_source,
.verify_crc_source = vkms_verify_crc_source, .verify_crc_source = vkms_verify_crc_source,
......
...@@ -103,7 +103,6 @@ static struct drm_driver vkms_driver = { ...@@ -103,7 +103,6 @@ static struct drm_driver vkms_driver = {
.dumb_create = vkms_dumb_create, .dumb_create = vkms_dumb_create,
.gem_vm_ops = &vkms_gem_vm_ops, .gem_vm_ops = &vkms_gem_vm_ops,
.gem_free_object_unlocked = vkms_gem_free_object, .gem_free_object_unlocked = vkms_gem_free_object,
.get_vblank_timestamp = vkms_get_vblank_timestamp,
.prime_fd_to_handle = drm_gem_prime_fd_to_handle, .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
.gem_prime_import_sg_table = vkms_prime_import_sg_table, .gem_prime_import_sg_table = vkms_prime_import_sg_table,
......
...@@ -111,10 +111,6 @@ struct vkms_gem_object { ...@@ -111,10 +111,6 @@ struct vkms_gem_object {
int vkms_crtc_init(struct drm_device *dev, struct drm_crtc *crtc, int vkms_crtc_init(struct drm_device *dev, struct drm_crtc *crtc,
struct drm_plane *primary, struct drm_plane *cursor); struct drm_plane *primary, struct drm_plane *cursor);
bool vkms_get_vblank_timestamp(struct drm_device *dev, unsigned int pipe,
int *max_error, ktime_t *vblank_time,
bool in_vblank_irq);
int vkms_output_init(struct vkms_device *vkmsdev, int index); int vkms_output_init(struct vkms_device *vkmsdev, int index);
struct drm_plane *vkms_plane_init(struct vkms_device *vkmsdev, struct drm_plane *vkms_plane_init(struct vkms_device *vkmsdev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment