Skip to content

Commit 9052aa2

Browse files
committed
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>
1 parent fc30b8e commit 9052aa2

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

drivers/gpu/drm/radeon/rv770.c

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -860,6 +860,14 @@ static int rv770_startup(struct radeon_device *rdev)
860860
if (r)
861861
return r;
862862
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+
863871
r = radeon_ring_init(rdev, rdev->cp.ring_size);
864872
if (r)
865873
return r;
@@ -993,6 +1001,12 @@ int rv770_init(struct radeon_device *rdev)
9931001
return r;
9941002

9951003
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+
9961010
r = rv770_startup(rdev);
9971011
if (r) {
9981012
if (rdev->flags & RADEON_IS_AGP) {
@@ -1004,11 +1018,6 @@ int rv770_init(struct radeon_device *rdev)
10041018
rdev->accel_working = false;
10051019
}
10061020
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-
}
10121021
r = radeon_ib_pool_init(rdev);
10131022
if (r) {
10141023
DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r);

0 commit comments

Comments
 (0)