aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rv770.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/radeon/rv770.c')
-rw-r--r--drivers/gpu/drm/radeon/rv770.c33
1 files changed, 18 insertions, 15 deletions
diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c
index 4f2098bc7974..be2f86539ebc 100644
--- a/drivers/gpu/drm/radeon/rv770.c
+++ b/drivers/gpu/drm/radeon/rv770.c
@@ -953,6 +953,7 @@ int rv770_init(struct radeon_device *rdev)
953 if (r) 953 if (r)
954 return r; 954 return r;
955 955
956 rdev->accel_working = true;
956 r = rv770_resume(rdev); 957 r = rv770_resume(rdev);
957 if (r) { 958 if (r) {
958 if (rdev->flags & RADEON_IS_AGP) { 959 if (rdev->flags & RADEON_IS_AGP) {
@@ -961,22 +962,24 @@ int rv770_init(struct radeon_device *rdev)
961 rdev->flags &= ~RADEON_IS_AGP; 962 rdev->flags &= ~RADEON_IS_AGP;
962 return rv770_init(rdev); 963 return rv770_init(rdev);
963 } 964 }
964 return r; 965 rdev->accel_working = false;
965 }
966 r = r600_blit_init(rdev);
967 if (r) {
968 DRM_ERROR("radeon: failled blitter (%d).\n", r);
969 return r;
970 } 966 }
971 r = radeon_ib_pool_init(rdev); 967 if (rdev->accel_working) {
972 if (r) { 968 r = r600_blit_init(rdev);
973 DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r); 969 if (r) {
974 return r; 970 DRM_ERROR("radeon: failled blitter (%d).\n", r);
975 } 971 rdev->accel_working = false;
976 r = radeon_ib_test(rdev); 972 }
977 if (r) { 973 r = radeon_ib_pool_init(rdev);
978 DRM_ERROR("radeon: failled testing IB (%d).\n", r); 974 if (r) {
979 return r; 975 DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r);
976 rdev->accel_working = false;
977 }
978 r = radeon_ib_test(rdev);
979 if (r) {
980 DRM_ERROR("radeon: failled testing IB (%d).\n", r);
981 rdev->accel_working = false;
982 }
980 } 983 }
981 return 0; 984 return 0;
982} 985}