diff options
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_prime.c')
-rw-r--r-- | drivers/gpu/drm/virtio/virtgpu_prime.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_prime.c b/drivers/gpu/drm/virtio/virtgpu_prime.c index d27a1688714f..86ce0ae93f59 100644 --- a/drivers/gpu/drm/virtio/virtgpu_prime.c +++ b/drivers/gpu/drm/virtio/virtgpu_prime.c | |||
@@ -55,13 +55,18 @@ struct drm_gem_object *virtgpu_gem_prime_import_sg_table( | |||
55 | 55 | ||
56 | void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj) | 56 | void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj) |
57 | { | 57 | { |
58 | WARN_ONCE(1, "not implemented"); | 58 | struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); |
59 | return ERR_PTR(-ENODEV); | 59 | int ret; |
60 | |||
61 | ret = virtio_gpu_object_kmap(bo); | ||
62 | if (ret) | ||
63 | return NULL; | ||
64 | return bo->vmap; | ||
60 | } | 65 | } |
61 | 66 | ||
62 | void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr) | 67 | void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr) |
63 | { | 68 | { |
64 | WARN_ONCE(1, "not implemented"); | 69 | virtio_gpu_object_kunmap(gem_to_virtio_gpu_obj(obj)); |
65 | } | 70 | } |
66 | 71 | ||
67 | int virtgpu_gem_prime_mmap(struct drm_gem_object *obj, | 72 | int virtgpu_gem_prime_mmap(struct drm_gem_object *obj, |