aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-07-31 09:16:42 -0400
committerAlex Deucher <alexander.deucher@amd.com>2013-08-07 17:37:07 -0400
commit95f595097b22827a5ee562afff402570c6b8205a (patch)
tree257960b42d63a5c8e421bab3c320f2061fba9f62 /drivers/gpu
parentadfb8e51332153016857194b85309150ac560286 (diff)
drm/radeon: properly handle pm on gpu reset
When we reset the GPU, we need to properly tear down power management before reseting the GPU and then set it back up again after reset. Add the missing radeon_pm_[suspend|resume] calls to the gpu reset function. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/radeon/radeon_device.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index 82335e38ec4f..84dd2dcbcf69 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -1519,6 +1519,7 @@ int radeon_gpu_reset(struct radeon_device *rdev)
1519 radeon_save_bios_scratch_regs(rdev); 1519 radeon_save_bios_scratch_regs(rdev);
1520 /* block TTM */ 1520 /* block TTM */
1521 resched = ttm_bo_lock_delayed_workqueue(&rdev->mman.bdev); 1521 resched = ttm_bo_lock_delayed_workqueue(&rdev->mman.bdev);
1522 radeon_pm_suspend(rdev);
1522 radeon_suspend(rdev); 1523 radeon_suspend(rdev);
1523 1524
1524 for (i = 0; i < RADEON_NUM_RINGS; ++i) { 1525 for (i = 0; i < RADEON_NUM_RINGS; ++i) {
@@ -1564,6 +1565,7 @@ retry:
1564 } 1565 }
1565 } 1566 }
1566 1567
1568 radeon_pm_resume(rdev);
1567 drm_helper_resume_force_mode(rdev->ddev); 1569 drm_helper_resume_force_mode(rdev->ddev);
1568 1570
1569 ttm_bo_unlock_delayed_workqueue(&rdev->mman.bdev, resched); 1571 ttm_bo_unlock_delayed_workqueue(&rdev->mman.bdev, resched);