OSDN Git Service

drm/amdgpu:fix amdgpu_sa_bo_new error(v2)
authorMonk Liu <Monk.Liu@amd.com>
Wed, 8 Feb 2017 09:38:13 +0000 (17:38 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Mar 2017 03:52:39 +0000 (23:52 -0400)
ib_pool init should prior to fbdev_init, otherwise
there will be error from amdgpu_sa_bo_new
(amdgpu_sa.c:323)

fbdev_init will call ttm_validate which further call
amdgpu_sa_bo_new.

v2:
move fbdev_init behind ib test.

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 7bf246e..7d5ae50 100644 (file)
@@ -1835,8 +1835,6 @@ int amdgpu_device_init(struct amdgpu_device *adev,
        /* Get a log2 for easy divisions. */
        adev->mm_stats.log2_max_MBps = ilog2(max(1u, max_MBps));
 
-       amdgpu_fbdev_init(adev);
-
        r = amdgpu_ib_pool_init(adev);
        if (r) {
                dev_err(adev->dev, "IB initialization failed (%d).\n", r);
@@ -1847,6 +1845,8 @@ int amdgpu_device_init(struct amdgpu_device *adev,
        if (r)
                DRM_ERROR("ib ring test failed (%d).\n", r);
 
+       amdgpu_fbdev_init(adev);
+
        r = amdgpu_gem_debugfs_init(adev);
        if (r) {
                DRM_ERROR("registering gem debugfs failed (%d).\n", r);