diff options
author | Alex Deucher <alex@botch2.com> | 2007-07-25 02:24:14 -0400 |
---|---|---|
committer | Alex Deucher <alex@botch2.com> | 2007-07-25 02:24:14 -0400 |
commit | 9cc3ab8320162f371bba15dc131f23c5de2013fc (patch) | |
tree | df94a6e9da42ef6d91c312213848528688674ffa | |
parent | 193d58b0ea9de3e326017e50b88e2f3726854506 (diff) |
RADEON: hack around console restore hang on r4xx
r4xx seems to hang when unblanking the crtc(s) when
restoring the console. This needs to be investigated
further.
-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 |