We don't populate drm_driver.gem_prime_import_sg_table so only
DMA-BUFs exported from our own device can be imported. We don't
populate drm_gem_object_funcs.get_sg_table so DMA-BUFs cannot be
imported into another device. Still, this is useful to user-space
to share buffers between processes and between API boundaries
(e.g. wlroots hard-requires PRIME import/export support).

v2: expand commit message

Signed-off-by: Simon Ser <cont...@emersion.fr>
Cc: Daniel Vetter <daniel.vet...@ffwll.ch>
Cc: Thomas Zimmermann <tzimmerm...@suse.de>
Cc: Tian Tao <tiant...@hisilicon.com>
Cc: Maxime Ripard <max...@cerno.tech>
Cc: Christian König <christian.koe...@amd.com>
Cc: Hans de Goede <hdego...@redhat.com>
---
 include/drm/drm_gem_vram_helper.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/drm/drm_gem_vram_helper.h 
b/include/drm/drm_gem_vram_helper.h
index d3e8920c0b64..f4aab64411d8 100644
--- a/include/drm/drm_gem_vram_helper.h
+++ b/include/drm/drm_gem_vram_helper.h
@@ -160,7 +160,9 @@ void drm_gem_vram_simple_display_pipe_cleanup_fb(
        .debugfs_init             = drm_vram_mm_debugfs_init, \
        .dumb_create              = drm_gem_vram_driver_dumb_create, \
        .dumb_map_offset          = drm_gem_ttm_dumb_map_offset, \
-       .gem_prime_mmap           = drm_gem_prime_mmap
+       .gem_prime_mmap           = drm_gem_prime_mmap, \
+       .prime_handle_to_fd       = drm_gem_prime_handle_to_fd, \
+       .prime_fd_to_handle       = drm_gem_prime_fd_to_handle
 
 /*
  *  VRAM memory manager
-- 
2.39.2


Reply via email to