diff options
author | Andreas Pokorny <andreas.pokorny@canonical.com> | 2014-08-08 10:40:55 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-09-03 07:35:27 +0200 |
commit | 058e9f5c8236ad740ab984588b507758e5feee6d (patch) | |
tree | 21a2b80796bbc325069625cdb121dc92122165a1 /drivers/gpu/drm/qxl/qxl_kms.c | |
parent | Merge branch 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/l... (diff) | |
download | linux-058e9f5c8236ad740ab984588b507758e5feee6d.tar.xz linux-058e9f5c8236ad740ab984588b507758e5feee6d.zip |
drm/qxl: simple crtc page flipping emulated using buffer copy
Signed-off-by: Andreas Pokorny <andreas.pokorny@canonical.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/qxl/qxl_kms.c')
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_kms.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c index 7234561e09d9..b2977a181935 100644 --- a/drivers/gpu/drm/qxl/qxl_kms.c +++ b/drivers/gpu/drm/qxl/qxl_kms.c @@ -298,6 +298,9 @@ int qxl_driver_unload(struct drm_device *dev) if (qdev == NULL) return 0; + + drm_vblank_cleanup(dev); + qxl_modeset_fini(qdev); qxl_device_fini(qdev); @@ -325,15 +328,20 @@ int qxl_driver_load(struct drm_device *dev, unsigned long flags) if (r) goto out; + r = drm_vblank_init(dev, 1); + if (r) + goto unload; + r = qxl_modeset_init(qdev); - if (r) { - qxl_driver_unload(dev); - goto out; - } + if (r) + goto unload; drm_kms_helper_poll_init(qdev->ddev); return 0; +unload: + qxl_driver_unload(dev); + out: kfree(qdev); return r; |