Jelajahi Sumber

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>
Alex Deucher 12 tahun lalu
induk
melakukan
95f595097b
1 mengubah file dengan 2 tambahan dan 0 penghapusan
  1. 2 0
      drivers/gpu/drm/radeon/radeon_device.c

+ 2 - 0
drivers/gpu/drm/radeon/radeon_device.c

@@ -1519,6 +1519,7 @@ int radeon_gpu_reset(struct radeon_device *rdev)
 	radeon_save_bios_scratch_regs(rdev);
 	/* block TTM */
 	resched = ttm_bo_lock_delayed_workqueue(&rdev->mman.bdev);
+	radeon_pm_suspend(rdev);
 	radeon_suspend(rdev);
 
 	for (i = 0; i < RADEON_NUM_RINGS; ++i) {
@@ -1564,6 +1565,7 @@ retry:
 		}
 	}
 
+	radeon_pm_resume(rdev);
 	drm_helper_resume_force_mode(rdev->ddev);
 
 	ttm_bo_unlock_delayed_workqueue(&rdev->mman.bdev, resched);