Browse Source

drm/amdgpu:fix amdgpu_sa_bo_new error(v2)

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>
Monk Liu 8 years ago
parent
commit
9bc92b9c8d
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

+ 2 - 2
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

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