]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/gem-vram: Do not set pin and unpin callbacks
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 26 May 2025 13:25:18 +0000 (15:25 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Fri, 30 May 2025 07:47:27 +0000 (09:47 +0200)
Gem-vram helpers do not support PRIME dma-buf sharing. So nothing
will ever call pin/unpin on its buffer objects. Do not set these
callbacks in struct drm_gem_object_funcs.

v2:
- fix typo in commit description

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://lore.kernel.org/r/20250526132634.531789-3-tzimmermann@suse.de
drivers/gpu/drm/drm_gem_vram_helper.c

index 22b1fe9c03b81e4f35ec27285536c1ef0155e9b8..c73480d3183626240835ac1380b1925eda1c5566 100644 (file)
@@ -689,41 +689,6 @@ EXPORT_SYMBOL(drm_gem_vram_plane_helper_cleanup_fb);
  * PRIME helpers
  */
 
-/**
- * drm_gem_vram_object_pin() - Implements &struct drm_gem_object_funcs.pin
- * @gem:       The GEM object to pin
- *
- * Returns:
- * 0 on success, or
- * a negative errno code otherwise.
- */
-static int drm_gem_vram_object_pin(struct drm_gem_object *gem)
-{
-       struct drm_gem_vram_object *gbo = drm_gem_vram_of_gem(gem);
-
-       /*
-        * Fbdev console emulation is the use case of these PRIME
-        * helpers. This may involve updating a hardware buffer from
-        * a shadow FB. We pin the buffer to it's current location
-        * (either video RAM or system memory) to prevent it from
-        * being relocated during the update operation. If you require
-        * the buffer to be pinned to VRAM, implement a callback that
-        * sets the flags accordingly.
-        */
-       return drm_gem_vram_pin_locked(gbo, 0);
-}
-
-/**
- * drm_gem_vram_object_unpin() - Implements &struct drm_gem_object_funcs.unpin
- * @gem:       The GEM object to unpin
- */
-static void drm_gem_vram_object_unpin(struct drm_gem_object *gem)
-{
-       struct drm_gem_vram_object *gbo = drm_gem_vram_of_gem(gem);
-
-       drm_gem_vram_unpin_locked(gbo);
-}
-
 /**
  * drm_gem_vram_object_vmap() -
  *     Implements &struct drm_gem_object_funcs.vmap
@@ -762,8 +727,6 @@ static void drm_gem_vram_object_vunmap(struct drm_gem_object *gem,
 
 static const struct drm_gem_object_funcs drm_gem_vram_object_funcs = {
        .free   = drm_gem_vram_object_free,
-       .pin    = drm_gem_vram_object_pin,
-       .unpin  = drm_gem_vram_object_unpin,
        .vmap   = drm_gem_vram_object_vmap,
        .vunmap = drm_gem_vram_object_vunmap,
        .mmap   = drm_gem_ttm_mmap,