diff --git a/src/i830_dvo.c b/src/i830_dvo.c index e6ff6af..ca0d00e 100644 --- a/src/i830_dvo.c +++ b/src/i830_dvo.c @@ -260,6 +260,12 @@ i830_dvo_mode_set(xf86OutputPtr output, DisplayModePtr mode, OUTREG(dpll_reg, INREG(dpll_reg) | DPLL_DVO_HIGH_SPEED); + /* for i830M, bit 30 must be set to 1 for both DPLL_A and DPLL_B */ + if (IS_I830(pI830)) { + dpll_reg = (pipe == 0) ? DPLL_B : DPLL_A; + OUTREG(dpll_reg, INREG(dpll_reg) | DPLL_DVO_HIGH_SPEED); + } + /*OUTREG(DVOB_SRCDIM, (adjusted_mode->HDisplay << DVO_SRCDIM_HORIZONTAL_SHIFT) | (adjusted_mode->VDisplay << DVO_SRCDIM_VERTICAL_SHIFT));*/