UPSTREAM: 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: Ezequiel Garcia <ezequiel@collabora.com> Link: http://patchwork.freedesktop.org/patch/msgid/20180925161606.17980-4-ezequiel@collabora.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> (cherry picked from commit a03fb71716ee60d1d763f1f27773cbbaec1359ed) Signed-off-by: Greg Hartman <ghartman@google.com> BUG: 139386237 Change-Id: Icab4912be0e3da5a6fd453eb42894e6a16344ad3
This commit is contained in:
parent
8661999dad
commit
688d54fe9e
1 changed files with 8 additions and 3 deletions
|
@ -55,13 +55,18 @@ struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
|
|||
|
||||
void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj)
|
||||
{
|
||||
WARN_ONCE(1, "not implemented");
|
||||
return ERR_PTR(-ENODEV);
|
||||
struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj);
|
||||
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)
|
||||
{
|
||||
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,
|
||||
|
|
Loading…
Reference in a new issue