diff options
author | Gabriel Krisman Bertazi <krisman@collabora.co.uk> | 2017-02-27 23:43:17 +0300 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-02-28 19:26:10 +0300 |
commit | 64ca824e71b5d045ae1decc1b9f5a78a85dcd57b (patch) | |
tree | ffb720945fdecda98f658e3cf20496e1a748735c /drivers/gpu/drm/qxl | |
parent | 715a11fabbe6aa01daefc7bef34a08f4933237ce (diff) | |
download | linux-64ca824e71b5d045ae1decc1b9f5a78a85dcd57b.tar.xz |
drm: qxl: Don't initialize vblank support
qxl don't have support for hardware vblanks so we can't initialize it
here, otherwise we risk getting stuck in drm_wait_one_vblank.
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170227204328.18761-4-krisman@collabora.co.uk
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/qxl')
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_display.c | 20 | ||||
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_drv.c | 8 |
2 files changed, 1 insertions, 27 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index 0957db17de4d..a82fc3678b8e 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -293,14 +293,11 @@ static int qxl_crtc_page_flip(struct drm_crtc *crtc, qxl_draw_dirty_fb(qdev, qfb_src, bo, 0, 0, &norect, one_clip_rect, inc); - drm_crtc_vblank_get(crtc); - if (event) { spin_lock_irqsave(&dev->event_lock, flags); drm_crtc_send_vblank_event(crtc, event); spin_unlock_irqrestore(&dev->event_lock, flags); } - drm_crtc_vblank_put(crtc); qxl_bo_unpin(bo); @@ -532,29 +529,12 @@ static int qxl_crtc_cursor_move(struct drm_crtc *crtc, 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 = { .cursor_set2 = qxl_crtc_cursor_set2, .cursor_move = qxl_crtc_cursor_move, .set_config = drm_crtc_helper_set_config, .destroy = qxl_crtc_destroy, .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) diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index e141db9c6211..67e94f4f3ce8 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -83,13 +83,9 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (ret) goto disable_pci; - ret = drm_vblank_init(&qdev->ddev, 1); - if (ret) - goto unload; - ret = qxl_modeset_init(qdev); if (ret) - goto vblank_cleanup; + goto unload; drm_kms_helper_poll_init(&qdev->ddev); @@ -102,8 +98,6 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) modeset_cleanup: qxl_modeset_fini(qdev); -vblank_cleanup: - drm_vblank_cleanup(&qdev->ddev); unload: qxl_device_fini(qdev); disable_pci: |