OSDN Git Service

drm/ttm: convert system manager init to new code.
authorDave Airlie <airlied@redhat.com>
Tue, 4 Aug 2020 02:55:55 +0000 (12:55 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 6 Aug 2020 02:31:37 +0000 (12:31 +1000)
Remove the exit path, since this can't fail now.

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-23-airlied@gmail.com
drivers/gpu/drm/ttm/ttm_bo.c

index ebc850c..a7e66a2 100644 (file)
@@ -1648,6 +1648,22 @@ int ttm_bo_device_release(struct ttm_bo_device *bdev)
 }
 EXPORT_SYMBOL(ttm_bo_device_release);
 
+static void ttm_bo_init_sysman(struct ttm_bo_device *bdev)
+{
+       struct ttm_mem_type_manager *man = &bdev->man[TTM_PL_SYSTEM];
+
+       /*
+        * Initialize the system memory buffer type.
+        * Other types need to be driver / IOCTL initialized.
+        */
+       man->use_tt = true;
+       man->available_caching = TTM_PL_MASK_CACHING;
+       man->default_caching = TTM_PL_FLAG_CACHED;
+
+       ttm_mem_type_manager_init(bdev, man, 0);
+       ttm_mem_type_manager_set_used(man, true);
+}
+
 int ttm_bo_device_init(struct ttm_bo_device *bdev,
                       struct ttm_bo_driver *driver,
                       struct address_space *mapping,
@@ -1668,16 +1684,7 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev,
 
        memset(bdev->man, 0, sizeof(bdev->man));
 
-       /*
-        * Initialize the system memory buffer type.
-        * Other types need to be driver / IOCTL initialized.
-        */
-       bdev->man[TTM_PL_SYSTEM].use_tt = true;
-       bdev->man[TTM_PL_SYSTEM].available_caching = TTM_PL_MASK_CACHING;
-       bdev->man[TTM_PL_SYSTEM].default_caching = TTM_PL_FLAG_CACHED;
-       ret = ttm_bo_init_mm(bdev, TTM_PL_SYSTEM, 0);
-       if (unlikely(ret != 0))
-               goto out_no_sys;
+       ttm_bo_init_sysman(bdev);
 
        bdev->vma_manager = vma_manager;
        INIT_DELAYED_WORK(&bdev->wq, ttm_bo_delayed_workqueue);
@@ -1689,9 +1696,6 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev,
        mutex_unlock(&ttm_global_mutex);
 
        return 0;
-out_no_sys:
-       ttm_bo_global_release();
-       return ret;
 }
 EXPORT_SYMBOL(ttm_bo_device_init);