summaryrefslogtreecommitdiff
path: root/src/i830_crt.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@mandolin.keithp.com>2006-11-08 21:38:00 -0800
committerKeith Packard <keithp@mandolin.keithp.com>2006-11-08 21:38:00 -0800
commit81b7b489afa2cab4d8614c64f4906be627f1d07e (patch)
tree5acb26e5920f71917673e1c2113b7c58f3c2bd54 /src/i830_crt.c
parent81bace0c316c3ed80201a34eca533254d12cd193 (diff)
Adapt to RandR updates that split object creation from screen association.
RandR DIX code is preparing for xf86 drivers that want to allocate RandR objects at PreInit time. This patch adapts to that change without taking advantage of it.
Diffstat (limited to 'src/i830_crt.c')
-rw-r--r--src/i830_crt.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/i830_crt.c b/src/i830_crt.c
index 46eb788f..f067260d 100644
--- a/src/i830_crt.c
+++ b/src/i830_crt.c
@@ -103,13 +103,17 @@ i830_crt_post_set_mode(ScrnInfoPtr pScrn, I830OutputPtr output,
{
I830Ptr pI830 = I830PTR(pScrn);
int dpll_md_reg = (output->pipe == 0) ? DPLL_A_MD : DPLL_B_MD;
- CARD32 adpa;
+ CARD32 adpa, dpll_md;
/*
- * Not quite sure precisely what this does...
+ * Disable separate mode multiplier used when cloning SDVO to CRT
+ * XXX this needs to be adjusted when we really are cloning
*/
if (IS_I965G(pI830))
- OUTREG(dpll_md_reg, 0x3 << DPLL_MD_VGA_UDI_MULTIPLIER_SHIFT);
+ {
+ dpll_md = INREG(dpll_md_reg);
+ OUTREG(dpll_md_reg, dpll_md & ~DPLL_MD_UDI_MULTIPLIER_MASK);
+ }
adpa = ADPA_DAC_ENABLE;