summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alex@t41p.hsd1.va.comcast.net>2007-06-18 21:51:45 -0400
committerAlex Deucher <alex@t41p.hsd1.va.comcast.net>2007-06-18 21:51:45 -0400
commitb72ff160f908bf3aa9f64705377e92d80360a4f7 (patch)
tree4b060fd0a6d6b4266ceb42d8100df0950013a808
parent80313621ffa8c409ae63fc1b28c15fc4abdc3a7b (diff)
RADEON: only touch LVDS on mobility chips
-rw-r--r--src/radeon_display.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/radeon_display.c b/src/radeon_display.c
index 0889582..6ae8862 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -1561,19 +1561,21 @@ void RADEONDisableDisplays(ScrnInfoPtr pScrn) {
OUTREG(RADEON_FP2_GEN_CNTL, tmp);
/* LVDS */
- tmpPixclksCntl = INPLL(pScrn, RADEON_PIXCLKS_CNTL);
- if (info->IsMobility || info->IsIGP) {
- /* Asic bug, when turning off LVDS_ON, we have to make sure
- RADEON_PIXCLK_LVDS_ALWAYS_ON bit is off
- */
- OUTPLLP(pScrn, RADEON_PIXCLKS_CNTL, 0, ~RADEON_PIXCLK_LVDS_ALWAYS_ONb);
- }
- tmp = INREG(RADEON_LVDS_GEN_CNTL);
- tmp |= RADEON_LVDS_DISPLAY_DIS;
- tmp &= ~(RADEON_LVDS_ON | RADEON_LVDS_BLON);
- OUTREG(RADEON_LVDS_GEN_CNTL, tmp);
- if (info->IsMobility || info->IsIGP) {
- OUTPLL(pScrn, RADEON_PIXCLKS_CNTL, tmpPixclksCntl);
+ if (info->IsMobility) {
+ tmpPixclksCntl = INPLL(pScrn, RADEON_PIXCLKS_CNTL);
+ if (info->IsMobility || info->IsIGP) {
+ /* Asic bug, when turning off LVDS_ON, we have to make sure
+ RADEON_PIXCLK_LVDS_ALWAYS_ON bit is off
+ */
+ OUTPLLP(pScrn, RADEON_PIXCLKS_CNTL, 0, ~RADEON_PIXCLK_LVDS_ALWAYS_ONb);
+ }
+ tmp = INREG(RADEON_LVDS_GEN_CNTL);
+ tmp |= RADEON_LVDS_DISPLAY_DIS;
+ tmp &= ~(RADEON_LVDS_ON | RADEON_LVDS_BLON);
+ OUTREG(RADEON_LVDS_GEN_CNTL, tmp);
+ if (info->IsMobility || info->IsIGP) {
+ OUTPLL(pScrn, RADEON_PIXCLKS_CNTL, tmpPixclksCntl);
+ }
}
}