summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/radeon_driver.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 71e24ba0..36e14ff8 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -5093,15 +5093,20 @@ void RADEONRestore(ScrnInfoPtr pScrn)
}
#endif
- /* need to make sure we don't enable a crtc by accident or we may get a hang */
/*RADEONUnblank(pScrn);*/
- if (info->crtc_on) {
- crtc = xf86_config->crtc[0];
- crtc->funcs->dpms(crtc, DPMSModeOn);
- }
- if (info->crtc2_on) {
- crtc = xf86_config->crtc[1];
- crtc->funcs->dpms(crtc, DPMSModeOn);
+ /* R4xx hangs when unblanking, but seems to restore fine without it.
+ * This will probably cause problems with non-VGA consoles.
+ */
+ if (!info->IsAtomBios) {
+ /* need to make sure we don't enable a crtc by accident or we may get a hang */
+ if (info->crtc_on) {
+ crtc = xf86_config->crtc[0];
+ crtc->funcs->dpms(crtc, DPMSModeOn);
+ }
+ if (info->crtc2_on) {
+ crtc = xf86_config->crtc[1];
+ crtc->funcs->dpms(crtc, DPMSModeOn);
+ }
}
#if 0