Commit a03fb717 authored by Ezequiel Garcia's avatar Ezequiel Garcia Committed by Gerd Hoffmann

virtio: Support prime objects vmap/vunmap

Implement vmap/vunmap so we can export dmabufs to
other drivers, such as video4linux.

Tested with a virtio-gpu / vivid (virtual capture driver)
pipeline, where the vivid driver imports the dmabufs exported
by virtio-gpu.

Note that dma_buf_vmap() does its own vmap counting, so
it's not needed to take care of it in the driver.
Signed-off-by: default avatarEzequiel Garcia <ezequiel@collabora.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20180925161606.17980-4-ezequiel@collabora.comSigned-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent a20c4173
...@@ -55,13 +55,18 @@ struct drm_gem_object *virtgpu_gem_prime_import_sg_table( ...@@ -55,13 +55,18 @@ struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj) void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj)
{ {
WARN_ONCE(1, "not implemented"); struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj);
return ERR_PTR(-ENODEV); int ret;
ret = virtio_gpu_object_kmap(bo);
if (ret)
return NULL;
return bo->vmap;
} }
void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr) void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr)
{ {
WARN_ONCE(1, "not implemented"); virtio_gpu_object_kunmap(gem_to_virtio_gpu_obj(obj));
} }
int virtgpu_gem_prime_mmap(struct drm_gem_object *obj, int virtgpu_gem_prime_mmap(struct drm_gem_object *obj,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment