From: Dave Airlie Date: Fri, 18 Sep 2009 08:33:07 +0000 (+1000) Subject: drm/radeon/kms: rv770 blit init called too late. X-Git-Tag: v2.6.32-rc1~159^2~7 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=9052aa2458fc13788e468a010fa0ed9aa4020380;p=~shefty%2Frdma-dev.git drm/radeon/kms: rv770 blit init called too late. re-align with r600 code, to init blit earlier. Signed-off-by: Dave Airlie --- diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c index a6399662a84..576ae2f6c71 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) 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);