aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/r520.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-07-14 22:13:50 -0400
committerDave Airlie <airlied@redhat.com>2010-08-01 20:00:09 -0400
commit4c712e6c7ef19e7e8e1f38b27bb65290def39b40 (patch)
treec2f5d3663f849f445ff1154762188904e0633c2d /drivers/gpu/drm/radeon/r520.c
parente376573f7267390f4e1bdc552564b6fb913bce76 (diff)
drm/radeon/kms: check/restore sanity before doing anything else with GPU.
On systems using kexec, the new kernel is booted straight from the old kernel, without any warning to the graphics driver. So the GPU is basically left as-is in a running state, however the CPU side is completly reset. Without stating the saneness of anyone using kexec on live systems, we should at least try not to crash the GPU. This patch resets 3 registers to 0 that could cause bad things to happen to the running system. This allows kexec to work on a Power6/RN50 system. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r520.c')
-rw-r--r--drivers/gpu/drm/radeon/r520.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r520.c b/drivers/gpu/drm/radeon/r520.c
index 34330df28483..213e2e0027a3 100644
--- a/drivers/gpu/drm/radeon/r520.c
+++ b/drivers/gpu/drm/radeon/r520.c
@@ -230,6 +230,8 @@ int r520_init(struct radeon_device *rdev)
230 radeon_scratch_init(rdev); 230 radeon_scratch_init(rdev);
231 /* Initialize surface registers */ 231 /* Initialize surface registers */
232 radeon_surface_init(rdev); 232 radeon_surface_init(rdev);
233 /* restore some register to sane defaults */
234 r100_restore_sanity(rdev);
233 /* TODO: disable VGA need to use VGA request */ 235 /* TODO: disable VGA need to use VGA request */
234 /* BIOS*/ 236 /* BIOS*/
235 if (!radeon_get_bios(rdev)) { 237 if (!radeon_get_bios(rdev)) {