OSDN Git Service

drm/ttm: add dma_resv_assert_held() calls to vmap/vunmap
authorChristian König <christian.koenig@amd.com>
Fri, 15 Jul 2022 08:34:13 +0000 (10:34 +0200)
committerChristian König <christian.koenig@amd.com>
Mon, 26 Sep 2022 10:07:01 +0000 (12:07 +0200)
Let's make sure nobody is calling those functions without holding the
appropriate locks.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220715111533.467012-2-christian.koenig@amd.com
drivers/gpu/drm/ttm/ttm_bo_util.c

index 1530982..497ee1f 100644 (file)
@@ -402,6 +402,8 @@ int ttm_bo_vmap(struct ttm_buffer_object *bo, struct iosys_map *map)
        struct ttm_resource *mem = bo->resource;
        int ret;
 
+       dma_resv_assert_held(bo->base.resv);
+
        ret = ttm_mem_io_reserve(bo->bdev, mem);
        if (ret)
                return ret;
@@ -460,6 +462,8 @@ void ttm_bo_vunmap(struct ttm_buffer_object *bo, struct iosys_map *map)
 {
        struct ttm_resource *mem = bo->resource;
 
+       dma_resv_assert_held(bo->base.resv);
+
        if (iosys_map_is_null(map))
                return;