diff options
author | Matthijs Kooijman <matthijs@stdin.nl> | 2009-12-03 12:10:14 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-12-03 12:10:14 -0500 |
commit | f082b1693d6f7f763ccf5a8436a89890ca2c6129 (patch) | |
tree | be2cfc49463bbd0b4b05efded6f55ab905708e26 /src | |
parent | 3a96fbf3b84522cf1ba1b176e82b662222331c14 (diff) |
radeon: fix crtc2 dpms
noticed by Matthijs Kooijman on fdo bug 22140
Diffstat (limited to 'src')
-rw-r--r-- | src/legacy_crtc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/legacy_crtc.c b/src/legacy_crtc.c index b57ba5f7..ed339ab1 100644 --- a/src/legacy_crtc.c +++ b/src/legacy_crtc.c @@ -670,8 +670,7 @@ legacy_crtc_dpms(xf86CrtcPtr crtc, int mode) unsigned char *RADEONMMIO = pRADEONEnt->MMIO; if (radeon_crtc->crtc_id) - mask = (RADEON_CRTC2_EN | - RADEON_CRTC2_DISP_DIS | + mask = (RADEON_CRTC2_DISP_DIS | RADEON_CRTC2_VSYNC_DIS | RADEON_CRTC2_HSYNC_DIS | RADEON_CRTC2_DISP_REQ_EN_B); @@ -683,7 +682,7 @@ legacy_crtc_dpms(xf86CrtcPtr crtc, int mode) switch(mode) { case DPMSModeOn: if (radeon_crtc->crtc_id) { - OUTREGP(RADEON_CRTC2_GEN_CNTL, RADEON_CRTC2_EN, ~mask); + OUTREGP(RADEON_CRTC2_GEN_CNTL, RADEON_CRTC2_EN, ~(RADEON_CRTC2_EN | mask)); } else { OUTREGP(RADEON_CRTC_GEN_CNTL, RADEON_CRTC_EN, ~(RADEON_CRTC_EN | RADEON_CRTC_DISP_REQ_EN_B)); OUTREGP(RADEON_CRTC_EXT_CNTL, 0, ~mask); @@ -693,7 +692,7 @@ legacy_crtc_dpms(xf86CrtcPtr crtc, int mode) case DPMSModeSuspend: case DPMSModeOff: if (radeon_crtc->crtc_id) { - OUTREGP(RADEON_CRTC2_GEN_CNTL, mask, ~mask); + OUTREGP(RADEON_CRTC2_GEN_CNTL, mask, ~(RADEON_CRTC2_EN | mask)); } else { OUTREGP(RADEON_CRTC_GEN_CNTL, RADEON_CRTC_DISP_REQ_EN_B, ~(RADEON_CRTC_EN | RADEON_CRTC_DISP_REQ_EN_B)); OUTREGP(RADEON_CRTC_EXT_CNTL, mask, ~mask); |