提交 64ca824e 编写于 作者: G Gabriel Krisman Bertazi 提交者: Gerd Hoffmann

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: NGabriel Krisman Bertazi <krisman@collabora.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170227204328.18761-4-krisman@collabora.co.ukSigned-off-by: NGerd Hoffmann <kraxel@redhat.com>
上级 715a11fa
...@@ -293,14 +293,11 @@ static int qxl_crtc_page_flip(struct drm_crtc *crtc, ...@@ -293,14 +293,11 @@ static int qxl_crtc_page_flip(struct drm_crtc *crtc,
qxl_draw_dirty_fb(qdev, qfb_src, bo, 0, 0, qxl_draw_dirty_fb(qdev, qfb_src, bo, 0, 0,
&norect, one_clip_rect, inc); &norect, one_clip_rect, inc);
drm_crtc_vblank_get(crtc);
if (event) { if (event) {
spin_lock_irqsave(&dev->event_lock, flags); spin_lock_irqsave(&dev->event_lock, flags);
drm_crtc_send_vblank_event(crtc, event); drm_crtc_send_vblank_event(crtc, event);
spin_unlock_irqrestore(&dev->event_lock, flags); spin_unlock_irqrestore(&dev->event_lock, flags);
} }
drm_crtc_vblank_put(crtc);
qxl_bo_unpin(bo); qxl_bo_unpin(bo);
...@@ -532,29 +529,12 @@ static int qxl_crtc_cursor_move(struct drm_crtc *crtc, ...@@ -532,29 +529,12 @@ 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,
.cursor_move = qxl_crtc_cursor_move, .cursor_move = qxl_crtc_cursor_move,
.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)
......
...@@ -83,13 +83,9 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -83,13 +83,9 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (ret) if (ret)
goto disable_pci; goto disable_pci;
ret = drm_vblank_init(&qdev->ddev, 1);
if (ret)
goto unload;
ret = qxl_modeset_init(qdev); ret = qxl_modeset_init(qdev);
if (ret) if (ret)
goto vblank_cleanup; goto unload;
drm_kms_helper_poll_init(&qdev->ddev); drm_kms_helper_poll_init(&qdev->ddev);
...@@ -102,8 +98,6 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -102,8 +98,6 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
modeset_cleanup: modeset_cleanup:
qxl_modeset_fini(qdev); qxl_modeset_fini(qdev);
vblank_cleanup:
drm_vblank_cleanup(&qdev->ddev);
unload: unload:
qxl_device_fini(qdev); qxl_device_fini(qdev);
disable_pci: disable_pci:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册