After removing the pinning operations, the vmap/vunmap code as been
reduced to what used to be an internal helper. Inline the helper to
simplify the implementation.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
Acked-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/drm_gem_vram_helper.c | 52 +++++++++++----------------
 1 file changed, 20 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c 
b/drivers/gpu/drm/drm_gem_vram_helper.c
index 276e8f8ea663..6159f5dc8f1f 100644
--- a/drivers/gpu/drm/drm_gem_vram_helper.c
+++ b/drivers/gpu/drm/drm_gem_vram_helper.c
@@ -378,36 +378,6 @@ int drm_gem_vram_unpin(struct drm_gem_vram_object *gbo)
 }
 EXPORT_SYMBOL(drm_gem_vram_unpin);
 
-static int drm_gem_vram_kmap_locked(struct drm_gem_vram_object *gbo,
-                                   struct dma_buf_map *map)
-{
-       int ret;
-
-       ret = ttm_bo_vmap(&gbo->bo, &gbo->map);
-       if (ret)
-               return ret;
-
-       *map = gbo->map;
-
-       return 0;
-}
-
-static void drm_gem_vram_kunmap_locked(struct drm_gem_vram_object *gbo,
-                                      struct dma_buf_map *map)
-{
-       struct drm_device *dev = gbo->bo.base.dev;
-
-       if (drm_WARN_ON_ONCE(dev, !dma_buf_map_is_equal(&gbo->map, map)))
-               return; /* BUG: map not mapped from this BO */
-
-       /*
-        * Permanently mapping and unmapping buffers adds overhead from
-        * updating the page tables and creates debugging output. Therefore,
-        * we delay the actual unmap operation until the BO gets evicted
-        * from memory. See drm_gem_vram_bo_driver_move_notify().
-        */
-}
-
 /**
  * drm_gem_vram_vmap() - Pins and maps a GEM VRAM object into kernel address
  *                       space
@@ -426,9 +396,17 @@ static void drm_gem_vram_kunmap_locked(struct 
drm_gem_vram_object *gbo,
  */
 int drm_gem_vram_vmap(struct drm_gem_vram_object *gbo, struct dma_buf_map *map)
 {
+       int ret;
+
        dma_resv_assert_held(gbo->bo.base.resv);
 
-       return drm_gem_vram_kmap_locked(gbo, map);
+       ret = ttm_bo_vmap(&gbo->bo, &gbo->map);
+       if (ret)
+               return ret;
+
+       *map = gbo->map;
+
+       return 0;
 }
 EXPORT_SYMBOL(drm_gem_vram_vmap);
 
@@ -442,9 +420,19 @@ EXPORT_SYMBOL(drm_gem_vram_vmap);
  */
 void drm_gem_vram_vunmap(struct drm_gem_vram_object *gbo, struct dma_buf_map 
*map)
 {
+       struct drm_device *dev = gbo->bo.base.dev;
+
        dma_resv_assert_held(gbo->bo.base.resv);
 
-       drm_gem_vram_kunmap_locked(gbo, map);
+       if (drm_WARN_ON_ONCE(dev, !dma_buf_map_is_equal(&gbo->map, map)))
+               return; /* BUG: map not mapped from this BO */
+
+       /*
+        * Permanently mapping and unmapping buffers adds overhead from
+        * updating the page tables and creates debugging output. Therefore,
+        * we delay the actual unmap operation until the BO gets evicted
+        * from memory. See drm_gem_vram_bo_driver_move_notify().
+        */
 }
 EXPORT_SYMBOL(drm_gem_vram_vunmap);
 
-- 
2.29.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to