diff options
author | Dave Airlie <airlied@redhat.com> | 2010-07-15 12:13:50 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-08-02 10:00:09 +1000 |
commit | 4c712e6c7ef19e7e8e1f38b27bb65290def39b40 (patch) | |
tree | c2f5d3663f849f445ff1154762188904e0633c2d /drivers/gpu/drm/radeon/radeon_asic.h | |
parent | e376573f7267390f4e1bdc552564b6fb913bce76 (diff) | |
download | blackbird-op-linux-4c712e6c7ef19e7e8e1f38b27bb65290def39b40.tar.gz blackbird-op-linux-4c712e6c7ef19e7e8e1f38b27bb65290def39b40.zip |
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/radeon_asic.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_asic.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h index c0bbaa64157a..a5aff755f0d2 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.h +++ b/drivers/gpu/drm/radeon/radeon_asic.h @@ -113,6 +113,7 @@ void r100_wb_fini(struct radeon_device *rdev); int r100_wb_init(struct radeon_device *rdev); int r100_cp_reset(struct radeon_device *rdev); void r100_vga_render_disable(struct radeon_device *rdev); +void r100_restore_sanity(struct radeon_device *rdev); int r100_cs_track_check_pkt3_indx_buffer(struct radeon_cs_parser *p, struct radeon_cs_packet *pkt, struct radeon_bo *robj); |