diff options
author | Christian König <christian.koenig@amd.com> | 2018-10-19 14:09:24 +0200 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-11-05 14:21:19 -0500 |
commit | 56b3d20413587fab6a790cfc8bc075ca94bc8ed9 (patch) | |
tree | 561821ec6cc176dc9db2a0ffa539b7556c516a8e | |
parent | 27eb1fa9130a98edd2b321d4dbce5c8b244ee7af (diff) | |
download | linux-stable-56b3d20413587fab6a790cfc8bc075ca94bc8ed9.tar.gz linux-stable-56b3d20413587fab6a790cfc8bc075ca94bc8ed9.tar.bz2 linux-stable-56b3d20413587fab6a790cfc8bc075ca94bc8ed9.zip |
drm/ttm: make the device list mutex static
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>
-rw-r--r-- | drivers/gpu/drm/ttm/ttm_bo.c | 14 | ||||
-rw-r--r-- | include/drm/ttm/ttm_bo_driver.h | 1 |
2 files changed, 9 insertions, 6 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 3006050b1720..4ec368b2555a 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -45,6 +45,11 @@ 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: diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h index 4ae6fc33f761..9cec8835b88f 100644 --- a/include/drm/ttm/ttm_bo_driver.h +++ b/include/drm/ttm/ttm_bo_driver.h @@ -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; /** |