Message ID | 20230302143502.500661-2-contact@emersion.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/2] drm/prime: reject DMA-BUF attach when get_sg_table is missing | expand |
Am 02.03.23 um 15:35 schrieb Simon Ser: > 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: Thomas Zimmermann <tzimmermann@suse.de> > Cc: Tian Tao <tiantao6@hisilicon.com> > Cc: Maxime Ripard <maxime@cerno.tech> > Cc: Christian König <christian.koenig@amd.com> > Cc: Hans de Goede <hdegoede@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 Acked-by: Thomas Zimmermann <tzimmermann@suse.de> > > /* > * VRAM memory manager
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
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: Thomas Zimmermann <tzimmermann@suse.de> Cc: Tian Tao <tiantao6@hisilicon.com> Cc: Maxime Ripard <maxime@cerno.tech> Cc: Christian König <christian.koenig@amd.com> Cc: Hans de Goede <hdegoede@redhat.com> --- include/drm/drm_gem_vram_helper.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)