drm/ttm: make the device list mutex static
authorChristian König <christian.koenig@amd.com>
Fri, 19 Oct 2018 12:09:24 +0000 (14:09 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Nov 2018 19:21:19 +0000 (14:21 -0500)
This way it can protect the whole BO global state.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/ttm/ttm_bo.c
include/drm/ttm/ttm_bo_driver.h

index 3006050b1720aa488e0688a7ff7d0c13a779c405..4ec368b2555aee23997aa06ef6e4695abe346873 100644 (file)
 
 static void ttm_bo_global_kobj_release(struct kobject *kobj);
 
+/**
+ * ttm_global_mutex - protecting the global BO state
+ */
+DEFINE_MUTEX(ttm_global_mutex);
+
 static struct attribute ttm_bo_count = {
        .name = "bo_count",
        .mode = S_IRUGO
@@ -1539,7 +1544,6 @@ int ttm_bo_global_init(struct ttm_bo_global *glob)
        if (ret)
                return ret;
 
-       mutex_init(&glob->device_list_mutex);
        spin_lock_init(&glob->lru_lock);
        glob->mem_glob = &ttm_mem_glob;
        glob->mem_glob->bo_glob = glob;
@@ -1587,9 +1591,9 @@ int ttm_bo_device_release(struct ttm_bo_device *bdev)
                }
        }
 
-       mutex_lock(&glob->device_list_mutex);
+       mutex_lock(&ttm_global_mutex);
        list_del(&bdev->device_list);
-       mutex_unlock(&glob->device_list_mutex);
+       mutex_unlock(&ttm_global_mutex);
 
        cancel_delayed_work_sync(&bdev->wq);
 
@@ -1636,9 +1640,9 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev,
        bdev->dev_mapping = mapping;
        bdev->glob = glob;
        bdev->need_dma32 = need_dma32;
-       mutex_lock(&glob->device_list_mutex);
+       mutex_lock(&ttm_global_mutex);
        list_add_tail(&bdev->device_list, &glob->device_list);
-       mutex_unlock(&glob->device_list_mutex);
+       mutex_unlock(&ttm_global_mutex);
 
        return 0;
 out_no_sys:
index 4ae6fc33f76140275a56aed44849c43257243de5..9cec8835b88fe4de48c5d1b89f1b4c201bb924ba 100644 (file)
@@ -407,7 +407,6 @@ struct ttm_bo_global {
        struct kobject kobj;
        struct ttm_mem_global *mem_glob;
        struct page *dummy_read_page;
-       struct mutex device_list_mutex;
        spinlock_t lru_lock;
 
        /**