summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Deucher <alex@botch2.com>2007-07-25 02:24:14 -0400
committerAlex Deucher <alex@botch2.com>2007-07-25 02:24:14 -0400
commit9cc3ab8320162f371bba15dc131f23c5de2013fc (patch)
treedf94a6e9da42ef6d91c312213848528688674ffa /src
parent193d58b0ea9de3e326017e50b88e2f3726854506 (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.
Diffstat (limited to 'src')
-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