aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/virtio
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-04-24 00:08:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-04-24 00:08:52 -0400
commitba25b50d582ff6c6021eee80824134aeb9ab8785 (patch)
treed6002f77ac65c936b489f21409c9b162acfc3c28 /drivers/gpu/drm/virtio
parent12a54b150fb5b6c2f3da932dc0e665355f8a5a48 (diff)
parenta0cecc23cfcbf2626497a8c8770856dd56b67917 (diff)
Merge tag 'drm-fixes-2019-04-24' of git://anongit.freedesktop.org/drm/drm
Pull drm regression fixes from Dave Airlie: "We interrupt your regularly scheduled drm fixes for a regression special. The first is for a fix in i915 that had unexpected side effects fallout in the userspace X.org modesetting driver where X would no longer start. I got tired of the nitpicking and issued a large hammer on it. The X.org driver is buggy, but blackscreen regressions are worse. The second was an oversight that myself and Gerd should have noticed better, Gerd is trying to fix this properly, but the regression is too large to leave, even if the original behaviour is bad in some cases, it's clearly bad to break a bunch of working use cases. I'll likely have a regular fixes pull later, but I really wanted to highlight these" * tag 'drm-fixes-2019-04-24' of git://anongit.freedesktop.org/drm/drm: Revert "drm/virtio: drop prime import/export callbacks" Revert "drm/i915/fbdev: Actually configure untiled displays"
Diffstat (limited to 'drivers/gpu/drm/virtio')
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_drv.c4
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_drv.h4
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_prime.c12
3 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.c b/drivers/gpu/drm/virtio/virtgpu_drv.c
index b996ac1d4fcc..af92964b6889 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.c
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.c
@@ -205,10 +205,14 @@ static struct drm_driver driver = {
205#if defined(CONFIG_DEBUG_FS) 205#if defined(CONFIG_DEBUG_FS)
206 .debugfs_init = virtio_gpu_debugfs_init, 206 .debugfs_init = virtio_gpu_debugfs_init,
207#endif 207#endif
208 .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
209 .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
208 .gem_prime_export = drm_gem_prime_export, 210 .gem_prime_export = drm_gem_prime_export,
209 .gem_prime_import = drm_gem_prime_import, 211 .gem_prime_import = drm_gem_prime_import,
210 .gem_prime_pin = virtgpu_gem_prime_pin, 212 .gem_prime_pin = virtgpu_gem_prime_pin,
211 .gem_prime_unpin = virtgpu_gem_prime_unpin, 213 .gem_prime_unpin = virtgpu_gem_prime_unpin,
214 .gem_prime_get_sg_table = virtgpu_gem_prime_get_sg_table,
215 .gem_prime_import_sg_table = virtgpu_gem_prime_import_sg_table,
212 .gem_prime_vmap = virtgpu_gem_prime_vmap, 216 .gem_prime_vmap = virtgpu_gem_prime_vmap,
213 .gem_prime_vunmap = virtgpu_gem_prime_vunmap, 217 .gem_prime_vunmap = virtgpu_gem_prime_vunmap,
214 .gem_prime_mmap = virtgpu_gem_prime_mmap, 218 .gem_prime_mmap = virtgpu_gem_prime_mmap,
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 3238fdf58eb4..d577cb76f5ad 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -354,6 +354,10 @@ int virtio_gpu_object_wait(struct virtio_gpu_object *bo, bool no_wait);
354/* virtgpu_prime.c */ 354/* virtgpu_prime.c */
355int virtgpu_gem_prime_pin(struct drm_gem_object *obj); 355int virtgpu_gem_prime_pin(struct drm_gem_object *obj);
356void virtgpu_gem_prime_unpin(struct drm_gem_object *obj); 356void virtgpu_gem_prime_unpin(struct drm_gem_object *obj);
357struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj);
358struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
359 struct drm_device *dev, struct dma_buf_attachment *attach,
360 struct sg_table *sgt);
357void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj); 361void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj);
358void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); 362void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
359int virtgpu_gem_prime_mmap(struct drm_gem_object *obj, 363int virtgpu_gem_prime_mmap(struct drm_gem_object *obj,
diff --git a/drivers/gpu/drm/virtio/virtgpu_prime.c b/drivers/gpu/drm/virtio/virtgpu_prime.c
index c59ec34c80a5..eb51a78e1199 100644
--- a/drivers/gpu/drm/virtio/virtgpu_prime.c
+++ b/drivers/gpu/drm/virtio/virtgpu_prime.c
@@ -39,6 +39,18 @@ void virtgpu_gem_prime_unpin(struct drm_gem_object *obj)
39 WARN_ONCE(1, "not implemented"); 39 WARN_ONCE(1, "not implemented");
40} 40}
41 41
42struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj)
43{
44 return ERR_PTR(-ENODEV);
45}
46
47struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
48 struct drm_device *dev, struct dma_buf_attachment *attach,
49 struct sg_table *table)
50{
51 return ERR_PTR(-ENODEV);
52}
53
42void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj) 54void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj)
43{ 55{
44 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); 56 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj);