aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rv770.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2009-09-18 04:33:07 -0400
committerDave Airlie <airlied@linux.ie>2009-09-18 04:34:53 -0400
commit9052aa2458fc13788e468a010fa0ed9aa4020380 (patch)
tree83d81c4ce5d408e3b000671619c43d01c4f052ae /drivers/gpu/drm/radeon/rv770.c
parentfc30b8efbe1b271eb64e0d4f6cb2a91bb57ee5f3 (diff)
drm/radeon/kms: rv770 blit init called too late.
re-align with r600 code, to init blit earlier. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rv770.c')
-rw-r--r--drivers/gpu/drm/radeon/rv770.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c
index a6399662a843..576ae2f6c717 100644
--- a/drivers/gpu/drm/radeon/rv770.c
+++ b/drivers/gpu/drm/radeon/rv770.c
@@ -860,6 +860,14 @@ static int rv770_startup(struct radeon_device *rdev)
860 if (r) 860 if (r)
861 return r; 861 return r;
862 rv770_gpu_init(rdev); 862 rv770_gpu_init(rdev);
863
864 r = radeon_object_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM,
865 &rdev->r600_blit.shader_gpu_addr);
866 if (r) {
867 DRM_ERROR("failed to pin blit object %d\n", r);
868 return r;
869 }
870
863 r = radeon_ring_init(rdev, rdev->cp.ring_size); 871 r = radeon_ring_init(rdev, rdev->cp.ring_size);
864 if (r) 872 if (r)
865 return r; 873 return r;
@@ -993,6 +1001,12 @@ int rv770_init(struct radeon_device *rdev)
993 return r; 1001 return r;
994 1002
995 rdev->accel_working = true; 1003 rdev->accel_working = true;
1004 r = r600_blit_init(rdev);
1005 if (r) {
1006 DRM_ERROR("radeon: failled blitter (%d).\n", r);
1007 rdev->accel_working = false;
1008 }
1009
996 r = rv770_startup(rdev); 1010 r = rv770_startup(rdev);
997 if (r) { 1011 if (r) {
998 if (rdev->flags & RADEON_IS_AGP) { 1012 if (rdev->flags & RADEON_IS_AGP) {
@@ -1004,11 +1018,6 @@ int rv770_init(struct radeon_device *rdev)
1004 rdev->accel_working = false; 1018 rdev->accel_working = false;
1005 } 1019 }
1006 if (rdev->accel_working) { 1020 if (rdev->accel_working) {
1007 r = r600_blit_init(rdev);
1008 if (r) {
1009 DRM_ERROR("radeon: failled blitter (%d).\n", r);
1010 rdev->accel_working = false;
1011 }
1012 r = radeon_ib_pool_init(rdev); 1021 r = radeon_ib_pool_init(rdev);
1013 if (r) { 1022 if (r) {
1014 DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r); 1023 DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r);