diff --git a/[refs] b/[refs] index 06f12c2403b8..4d1ef1cc3c61 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fc30b8efbe1b271eb64e0d4f6cb2a91bb57ee5f3 +refs/heads/master: 9052aa2458fc13788e468a010fa0ed9aa4020380 diff --git a/trunk/drivers/gpu/drm/radeon/rv770.c b/trunk/drivers/gpu/drm/radeon/rv770.c index a6399662a843..576ae2f6c717 100644 --- a/trunk/drivers/gpu/drm/radeon/rv770.c +++ b/trunk/drivers/gpu/drm/radeon/rv770.c @@ -860,6 +860,14 @@ static int rv770_startup(struct radeon_device *rdev) if (r) return r; rv770_gpu_init(rdev); + + r = radeon_object_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM, + &rdev->r600_blit.shader_gpu_addr); + if (r) { + DRM_ERROR("failed to pin blit object %d\n", r); + return r; + } + r = radeon_ring_init(rdev, rdev->cp.ring_size); if (r) return r; @@ -993,6 +1001,12 @@ int rv770_init(struct radeon_device *rdev) return r; rdev->accel_working = true; + r = r600_blit_init(rdev); + if (r) { + DRM_ERROR("radeon: failled blitter (%d).\n", r); + rdev->accel_working = false; + } + r = rv770_startup(rdev); if (r) { if (rdev->flags & RADEON_IS_AGP) { @@ -1004,11 +1018,6 @@ int rv770_init(struct radeon_device *rdev) rdev->accel_working = false; } if (rdev->accel_working) { - r = r600_blit_init(rdev); - if (r) { - DRM_ERROR("radeon: failled blitter (%d).\n", r); - rdev->accel_working = false; - } r = radeon_ib_pool_init(rdev); if (r) { DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r);