summaryrefslogtreecommitdiff
path: root/src/i830_sdvo.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2007-03-05 05:08:51 -0800
committerEric Anholt <eric@anholt.net>2007-03-05 05:08:51 -0800
commit8bb677889d3f71cde671f17a3589939acad2c3b3 (patch)
tree64a89cb67d21a3ed8ec9b2a9e77fabb771cba9c0 /src/i830_sdvo.c
parenta0c83af3430b6705ab2ecae59085d1c74e890c19 (diff)
Fix 965GM SDVO by not setting fields in SDVO[BC] which have new meanings.
Diffstat (limited to 'src/i830_sdvo.c')
-rw-r--r--src/i830_sdvo.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c
index b7cf8436..ab01028f 100644
--- a/src/i830_sdvo.c
+++ b/src/i830_sdvo.c
@@ -647,16 +647,20 @@ i830_sdvo_mode_set(xf86OutputPtr output, DisplayModePtr mode,
}
/* Set the SDVO control regs. */
- sdvox = INREG(dev_priv->output_device);
- switch (dev_priv->output_device) {
- case SDVOB:
- sdvox &= SDVOB_PRESERVE_MASK;
- break;
- case SDVOC:
- sdvox &= SDVOC_PRESERVE_MASK;
- break;
+ if (IS_I965GM(pI830)) {
+ sdvox = SDVO_BORDER_ENABLE;
+ } else {
+ sdvox = INREG(dev_priv->output_device);
+ switch (dev_priv->output_device) {
+ case SDVOB:
+ sdvox &= SDVOB_PRESERVE_MASK;
+ break;
+ case SDVOC:
+ sdvox &= SDVOC_PRESERVE_MASK;
+ break;
+ }
+ sdvox |= (9 << 19) | SDVO_BORDER_ENABLE;
}
- sdvox |= (9 << 19) | SDVO_BORDER_ENABLE;
if (intel_crtc->pipe == 1)
sdvox |= SDVO_PIPE_B_SELECT;