From: Dave Airlie Date: Tue, 4 Aug 2020 02:55:55 +0000 (+1000) Subject: drm/ttm: convert system manager init to new code. X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5969793f8656e891f9b3d1542b1642536c31f2bc;p=linux.git drm/ttm: convert system manager init to new code. Remove the exit path, since this can't fail now. Reviewed-by: Christian König Reviewed-by: Ben Skeggs Signed-off-by: Dave Airlie Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-23-airlied@gmail.com --- diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index ebc850ce1273f..a7e66a2d89a23 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -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);