drm/vram-helper: turn on PRIME import/export
authorSimon Ser <contact@emersion.fr>
Thu, 2 Mar 2023 14:35:13 +0000 (14:35 +0000)
committerSimon Ser <contact@emersion.fr>
Mon, 3 Apr 2023 12:31:24 +0000 (14:31 +0200)
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 <contact@emersion.fr>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Tian Tao <tiantao6@hisilicon.com>
Cc: Maxime Ripard <maxime@cerno.tech>
Cc: Hans de Goede <hdegoede@redhat.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230302143502.500661-2-contact@emersion.fr
include/drm/drm_gem_vram_helper.h

index d3e8920..f4aab64 100644 (file)
@@ -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