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: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Rodrigo Siqueira <rodrigosiqueira@gmail.com> Tested-by: Rodrigo Siqueira <rodrigosiqueira@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200123135943.24140-20-tzimmermann@suse.de
This commit is contained in:
parent
7e69ed6ea1
commit
dc3260d0f6
@ -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 = {
|
|||||||
.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 = {
|
|||||||
.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 {
|
|||||||
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,
|
||||||
|
Loading…
Reference in New Issue
Block a user