diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-01-23 18:56:08 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-01-31 16:24:55 -0500 |
commit | ca57802e521de54341efc8a56f70571f79ffac72 (patch) | |
tree | 444e194dee64e63a7b886df1b7b740a699b3d659 | |
parent | 014bb209214d8dce9698efea71c68d20ba477abc (diff) |
drm/radeon: halt engines before disabling MC (6xx/7xx)
It's better to halt the engines before we disable the MC.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 997707b2a33e..abb143c0bdca 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c | |||
@@ -1397,11 +1397,6 @@ static void r600_gpu_soft_reset(struct radeon_device *rdev, u32 reset_mask) | |||
1397 | 1397 | ||
1398 | r600_print_gpu_status_regs(rdev); | 1398 | r600_print_gpu_status_regs(rdev); |
1399 | 1399 | ||
1400 | rv515_mc_stop(rdev, &save); | ||
1401 | if (r600_mc_wait_for_idle(rdev)) { | ||
1402 | dev_warn(rdev->dev, "Wait for MC idle timedout !\n"); | ||
1403 | } | ||
1404 | |||
1405 | /* Disable CP parsing/prefetching */ | 1400 | /* Disable CP parsing/prefetching */ |
1406 | if (rdev->family >= CHIP_RV770) | 1401 | if (rdev->family >= CHIP_RV770) |
1407 | WREG32(R_0086D8_CP_ME_CNTL, S_0086D8_CP_ME_HALT(1) | S_0086D8_CP_PFP_HALT(1)); | 1402 | WREG32(R_0086D8_CP_ME_CNTL, S_0086D8_CP_ME_HALT(1) | S_0086D8_CP_PFP_HALT(1)); |
@@ -1420,6 +1415,11 @@ static void r600_gpu_soft_reset(struct radeon_device *rdev, u32 reset_mask) | |||
1420 | 1415 | ||
1421 | mdelay(50); | 1416 | mdelay(50); |
1422 | 1417 | ||
1418 | rv515_mc_stop(rdev, &save); | ||
1419 | if (r600_mc_wait_for_idle(rdev)) { | ||
1420 | dev_warn(rdev->dev, "Wait for MC idle timedout !\n"); | ||
1421 | } | ||
1422 | |||
1423 | if (reset_mask & (RADEON_RESET_GFX | RADEON_RESET_COMPUTE)) { | 1423 | if (reset_mask & (RADEON_RESET_GFX | RADEON_RESET_COMPUTE)) { |
1424 | if (rdev->family >= CHIP_RV770) | 1424 | if (rdev->family >= CHIP_RV770) |
1425 | grbm_soft_reset |= S_008020_SOFT_RESET_DB(1) | | 1425 | grbm_soft_reset |= S_008020_SOFT_RESET_DB(1) | |