diff options
author | Dave Airlie <airlied@redhat.com> | 2019-01-17 18:20:10 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2019-01-17 18:31:28 -0500 |
commit | f164a94c2c87752caeb1a3cbe068c440e7f7921f (patch) | |
tree | e914296ef0ce1df83e506a12bf4306d5aa468b24 /drivers/gpu/drm/virtio/virtgpu_kms.c | |
parent | b122153c7198e35fcb981ca9efd63b0df8ef3eab (diff) | |
parent | 94520db52fc0e931327bb77fe79a952a0e9dd2b0 (diff) |
Merge tag 'drm-misc-next-2019-01-16' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.1:
UAPI Changes:
- New fourcc identifier for ARM Framebuffer Compression v1.3
Cross-subsystem Changes:
Core Changes:
- Reorganisation of drm_device and drm_framebuffer headers
- Cleanup of the drmP inclusion
- Fix leaks in the fb-helpers
- Allow for depth different from bpp in fb-helper fbdev emulation
- Remove drm_mode_object from drm_display_mode
Driver Changes:
- Add reflection properties to rockchip
- a bunch of fixes for virtio
- a bunch of fixes for dp_mst and drivers using it, and introduction of a
new refcounting scheme
- Convertion of bochs to atomic and generic fbdev emulation
- Allow meson to remove the firmware framebuffers
[airlied: patch rcar-du to add drm_modes.h]
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190116200428.u2n4jbk4mzza7n6e@flea
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_kms.c')
-rw-r--r-- | drivers/gpu/drm/virtio/virtgpu_kms.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_kms.c b/drivers/gpu/drm/virtio/virtgpu_kms.c index 1072064a0db2..84b6a6bf00c6 100644 --- a/drivers/gpu/drm/virtio/virtgpu_kms.c +++ b/drivers/gpu/drm/virtio/virtgpu_kms.c | |||
@@ -106,7 +106,7 @@ static void virtio_gpu_get_capsets(struct virtio_gpu_device *vgdev, | |||
106 | vgdev->num_capsets = num_capsets; | 106 | vgdev->num_capsets = num_capsets; |
107 | } | 107 | } |
108 | 108 | ||
109 | int virtio_gpu_driver_load(struct drm_device *dev, unsigned long flags) | 109 | int virtio_gpu_init(struct drm_device *dev) |
110 | { | 110 | { |
111 | static vq_callback_t *callbacks[] = { | 111 | static vq_callback_t *callbacks[] = { |
112 | virtio_gpu_ctrl_ack, virtio_gpu_cursor_ack | 112 | virtio_gpu_ctrl_ack, virtio_gpu_cursor_ack |
@@ -193,9 +193,7 @@ int virtio_gpu_driver_load(struct drm_device *dev, unsigned long flags) | |||
193 | num_capsets, &num_capsets); | 193 | num_capsets, &num_capsets); |
194 | DRM_INFO("number of cap sets: %d\n", num_capsets); | 194 | DRM_INFO("number of cap sets: %d\n", num_capsets); |
195 | 195 | ||
196 | ret = virtio_gpu_modeset_init(vgdev); | 196 | virtio_gpu_modeset_init(vgdev); |
197 | if (ret) | ||
198 | goto err_modeset; | ||
199 | 197 | ||
200 | virtio_device_ready(vgdev->vdev); | 198 | virtio_device_ready(vgdev->vdev); |
201 | vgdev->vqs_ready = true; | 199 | vgdev->vqs_ready = true; |
@@ -209,7 +207,6 @@ int virtio_gpu_driver_load(struct drm_device *dev, unsigned long flags) | |||
209 | 5 * HZ); | 207 | 5 * HZ); |
210 | return 0; | 208 | return 0; |
211 | 209 | ||
212 | err_modeset: | ||
213 | err_scanouts: | 210 | err_scanouts: |
214 | virtio_gpu_ttm_fini(vgdev); | 211 | virtio_gpu_ttm_fini(vgdev); |
215 | err_ttm: | 212 | err_ttm: |
@@ -231,7 +228,7 @@ static void virtio_gpu_cleanup_cap_cache(struct virtio_gpu_device *vgdev) | |||
231 | } | 228 | } |
232 | } | 229 | } |
233 | 230 | ||
234 | void virtio_gpu_driver_unload(struct drm_device *dev) | 231 | void virtio_gpu_deinit(struct drm_device *dev) |
235 | { | 232 | { |
236 | struct virtio_gpu_device *vgdev = dev->dev_private; | 233 | struct virtio_gpu_device *vgdev = dev->dev_private; |
237 | 234 | ||
@@ -239,6 +236,7 @@ void virtio_gpu_driver_unload(struct drm_device *dev) | |||
239 | flush_work(&vgdev->ctrlq.dequeue_work); | 236 | flush_work(&vgdev->ctrlq.dequeue_work); |
240 | flush_work(&vgdev->cursorq.dequeue_work); | 237 | flush_work(&vgdev->cursorq.dequeue_work); |
241 | flush_work(&vgdev->config_changed_work); | 238 | flush_work(&vgdev->config_changed_work); |
239 | vgdev->vdev->config->reset(vgdev->vdev); | ||
242 | vgdev->vdev->config->del_vqs(vgdev->vdev); | 240 | vgdev->vdev->config->del_vqs(vgdev->vdev); |
243 | 241 | ||
244 | virtio_gpu_modeset_fini(vgdev); | 242 | virtio_gpu_modeset_fini(vgdev); |