aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2012-12-14 16:20:46 -0500
committerAlex Deucher <alexander.deucher@amd.com>2012-12-19 17:44:06 -0500
commitd3493574e267c203836bfdcb9c58d8af46fc0da1 (patch)
tree1e884cc95b9189632b3146ffee11c37db953a253
parent5f8f635edd8ad5a6416bff4c5ff486500357f473 (diff)
drm/radeon: restore modeset late in GPU reset path
Modeset path seems to conflict sometimes with the memory management leading to kernel deadlock. This move modesetting reset after GPU acceleration reset. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
-rw-r--r--drivers/gpu/drm/radeon/radeon_device.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index a6617b53a9c6..cd756262924d 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -1347,7 +1347,6 @@ retry:
1347 } 1347 }
1348 1348
1349 radeon_restore_bios_scratch_regs(rdev); 1349 radeon_restore_bios_scratch_regs(rdev);
1350 drm_helper_resume_force_mode(rdev->ddev);
1351 1350
1352 if (!r) { 1351 if (!r) {
1353 for (i = 0; i < RADEON_NUM_RINGS; ++i) { 1352 for (i = 0; i < RADEON_NUM_RINGS; ++i) {
@@ -1373,6 +1372,8 @@ retry:
1373 } 1372 }
1374 } 1373 }
1375 1374
1375 drm_helper_resume_force_mode(rdev->ddev);
1376
1376 ttm_bo_unlock_delayed_workqueue(&rdev->mman.bdev, resched); 1377 ttm_bo_unlock_delayed_workqueue(&rdev->mman.bdev, resched);
1377 if (r) { 1378 if (r) {
1378 /* bad news, how to tell it to userspace ? */ 1379 /* bad news, how to tell it to userspace ? */