drm/radeon/kms: make sure mc is initialized before mapping blit bo
We need to make sure the the MC is intialized before we map the blit shader object on r6xx+. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
committed by
Dave Airlie
parent
f89551bfe9
commit
7923c615b8
@@ -1863,6 +1863,14 @@ int r600_startup(struct radeon_device *rdev)
|
|||||||
}
|
}
|
||||||
r600_gpu_init(rdev);
|
r600_gpu_init(rdev);
|
||||||
|
|
||||||
|
if (!rdev->r600_blit.shader_obj) {
|
||||||
|
r = r600_blit_init(rdev);
|
||||||
|
if (r) {
|
||||||
|
DRM_ERROR("radeon: failed blitter (%d).\n", r);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false);
|
r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false);
|
||||||
if (unlikely(r != 0))
|
if (unlikely(r != 0))
|
||||||
return r;
|
return r;
|
||||||
@@ -2038,12 +2046,6 @@ int r600_init(struct radeon_device *rdev)
|
|||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = r600_blit_init(rdev);
|
|
||||||
if (r) {
|
|
||||||
DRM_ERROR("radeon: failed blitter (%d).\n", r);
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
rdev->accel_working = true;
|
rdev->accel_working = true;
|
||||||
r = r600_startup(rdev);
|
r = r600_startup(rdev);
|
||||||
if (r) {
|
if (r) {
|
||||||
|
@@ -892,6 +892,14 @@ static int rv770_startup(struct radeon_device *rdev)
|
|||||||
}
|
}
|
||||||
rv770_gpu_init(rdev);
|
rv770_gpu_init(rdev);
|
||||||
|
|
||||||
|
if (!rdev->r600_blit.shader_obj) {
|
||||||
|
r = r600_blit_init(rdev);
|
||||||
|
if (r) {
|
||||||
|
DRM_ERROR("radeon: failed blitter (%d).\n", r);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false);
|
r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false);
|
||||||
if (unlikely(r != 0))
|
if (unlikely(r != 0))
|
||||||
return r;
|
return r;
|
||||||
@@ -1051,12 +1059,6 @@ int rv770_init(struct radeon_device *rdev)
|
|||||||
if (r)
|
if (r)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r = r600_blit_init(rdev);
|
|
||||||
if (r) {
|
|
||||||
DRM_ERROR("radeon: failed blitter (%d).\n", r);
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
rdev->accel_working = true;
|
rdev->accel_working = true;
|
||||||
r = rv770_startup(rdev);
|
r = rv770_startup(rdev);
|
||||||
if (r) {
|
if (r) {
|
||||||
|
Reference in New Issue
Block a user