drm: qxl: use vblank hooks in struct drm_crtc_funcs

The vblank hooks in struct drm_driver are deprecated and only meant for
legacy drivers.  For modern drivers with DRIVER_MODESET flag, the hooks
in struct drm_crtc_funcs should be used instead.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Cc: Dave Airlie <airlied@redhat.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1486458995-31018-16-git-send-email-shawnguo@kernel.org
This commit is contained in:
Shawn Guo 2017-02-07 17:16:27 +08:00 committed by Sean Paul
parent a5073a5b7a
commit 54d82e0f2d
2 changed files with 16 additions and 18 deletions

View File

@ -548,6 +548,19 @@ static int qxl_crtc_cursor_move(struct drm_crtc *crtc,
return 0; return 0;
} }
static u32 qxl_noop_get_vblank_counter(struct drm_crtc *crtc)
{
return 0;
}
static int qxl_noop_enable_vblank(struct drm_crtc *crtc)
{
return 0;
}
static void qxl_noop_disable_vblank(struct drm_crtc *crtc)
{
}
static const struct drm_crtc_funcs qxl_crtc_funcs = { static const struct drm_crtc_funcs qxl_crtc_funcs = {
.cursor_set2 = qxl_crtc_cursor_set2, .cursor_set2 = qxl_crtc_cursor_set2,
@ -555,6 +568,9 @@ static const struct drm_crtc_funcs qxl_crtc_funcs = {
.set_config = drm_crtc_helper_set_config, .set_config = drm_crtc_helper_set_config,
.destroy = qxl_crtc_destroy, .destroy = qxl_crtc_destroy,
.page_flip = qxl_crtc_page_flip, .page_flip = qxl_crtc_page_flip,
.get_vblank_counter = qxl_noop_get_vblank_counter,
.enable_vblank = qxl_noop_enable_vblank,
.disable_vblank = qxl_noop_disable_vblank,
}; };
void qxl_user_framebuffer_destroy(struct drm_framebuffer *fb) void qxl_user_framebuffer_destroy(struct drm_framebuffer *fb)

View File

@ -247,21 +247,6 @@ static int qxl_pm_restore(struct device *dev)
return qxl_drm_resume(drm_dev, false); return qxl_drm_resume(drm_dev, false);
} }
static u32 qxl_noop_get_vblank_counter(struct drm_device *dev,
unsigned int pipe)
{
return 0;
}
static int qxl_noop_enable_vblank(struct drm_device *dev, unsigned int pipe)
{
return 0;
}
static void qxl_noop_disable_vblank(struct drm_device *dev, unsigned int pipe)
{
}
static const struct dev_pm_ops qxl_pm_ops = { static const struct dev_pm_ops qxl_pm_ops = {
.suspend = qxl_pm_suspend, .suspend = qxl_pm_suspend,
.resume = qxl_pm_resume, .resume = qxl_pm_resume,
@ -281,9 +266,6 @@ static struct pci_driver qxl_pci_driver = {
static struct drm_driver qxl_driver = { static struct drm_driver qxl_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME | .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME |
DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED, DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED,
.get_vblank_counter = qxl_noop_get_vblank_counter,
.enable_vblank = qxl_noop_enable_vblank,
.disable_vblank = qxl_noop_disable_vblank,
.set_busid = drm_pci_set_busid, .set_busid = drm_pci_set_busid,