Merge tag 'regmap-fix-v5.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / gpu / drm / virtio / virtgpu_prime.c
index d27a1688714f9a6e888348c8cba09d5802b7646b..c59ec34c80a5df2c6b3a91f7ec73cd05f85445ad 100644 (file)
@@ -39,29 +39,20 @@ void virtgpu_gem_prime_unpin(struct drm_gem_object *obj)
        WARN_ONCE(1, "not implemented");
 }
 
-struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj)
-{
-       WARN_ONCE(1, "not implemented");
-       return ERR_PTR(-ENODEV);
-}
-
-struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
-       struct drm_device *dev, struct dma_buf_attachment *attach,
-       struct sg_table *table)
-{
-       WARN_ONCE(1, "not implemented");
-       return ERR_PTR(-ENODEV);
-}
-
 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,