diff options
-rw-r--r-- | src/radeon_driver.c | 21 |
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 |