summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_device.c
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2012-12-14 22:20:46 +0100
committerAlex Deucher <alexander.deucher@amd.com>2012-12-19 23:44:06 +0100
commitd3493574e267c203836bfdcb9c58d8af46fc0da1 (patch)
tree1e884cc95b9189632b3146ffee11c37db953a253 /drivers/gpu/drm/radeon/radeon_device.c
parentdrm/radeon: avoid deadlock in pm path when waiting for fence (diff)
downloadlinux-d3493574e267c203836bfdcb9c58d8af46fc0da1.tar.xz
linux-d3493574e267c203836bfdcb9c58d8af46fc0da1.zip
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
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_device.c')
-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:
}
radeon_restore_bios_scratch_regs(rdev);
- drm_helper_resume_force_mode(rdev->ddev);
if (!r) {
for (i = 0; i < RADEON_NUM_RINGS; ++i) {
@@ -1373,6 +1372,8 @@ retry:
}
}
+ drm_helper_resume_force_mode(rdev->ddev);
+
ttm_bo_unlock_delayed_workqueue(&rdev->mman.bdev, resched);
if (r) {
/* bad news, how to tell it to userspace ? */