summaryrefslogtreecommitdiff
path: root/src/atombios_crtc.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2007-11-23 15:03:13 +1000
committerDave Airlie <airlied@redhat.com>2007-11-23 15:03:13 +1000
commit5d792b5673bbf4784eb0ec059221e9b57232a122 (patch)
tree055d8168e83f237c2e225d52083e92545d0eda94 /src/atombios_crtc.c
parent558a2ef266c1ca517c7fb464b0ccfef83238c913 (diff)
radeon: fix up memory mapping issues for vt switch
Diffstat (limited to 'src/atombios_crtc.c')
-rw-r--r--src/atombios_crtc.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/atombios_crtc.c b/src/atombios_crtc.c
index 9615b20e..2bd49023 100644
--- a/src/atombios_crtc.c
+++ b/src/atombios_crtc.c
@@ -454,8 +454,10 @@ atombios_crtc_mode_set(xf86CrtcPtr crtc,
ErrorF("Mode %dx%d - %d %d %d\n", adjusted_mode->CrtcHDisplay, adjusted_mode->CrtcVDisplay,
adjusted_mode->CrtcHTotal, adjusted_mode->CrtcVTotal, adjusted_mode->Flags);
+ RADEONInitMemMapRegisters(pScrn, &info->ModeReg, info);
+ RADEONRestoreMemMapRegisters(pScrn, &info->ModeReg);
+
if (IS_AVIVO_VARIANT) {
- RADEONRestoreMemMapRegisters(pScrn, &info->ModeReg);
radeon_crtc->fb_width = adjusted_mode->CrtcHDisplay;
radeon_crtc->fb_height = pScrn->virtualY;
radeon_crtc->fb_pitch = adjusted_mode->CrtcHDisplay;
@@ -481,7 +483,7 @@ atombios_crtc_mode_set(xf86CrtcPtr crtc,
if (radeon_crtc->crtc_id == 0)
OUTREG(AVIVO_D1VGA_CONTROL, 0);
else
- OUTREG(AVIVO_D1VGA_CONTROL, 0);
+ OUTREG(AVIVO_D2VGA_CONTROL, 0);
/* setup fb format and location
*/
@@ -502,6 +504,7 @@ atombios_crtc_mode_set(xf86CrtcPtr crtc,
crtc->scrn->displayWidth);
OUTREG(AVIVO_D1GRPH_ENABLE + radeon_crtc->crtc_offset, 1);
+
}
atombios_crtc_set_pll(crtc, adjusted_mode);