From 3fa5b3998353518c40e2fb0c28b425ee22c8d625 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 13 Dec 2006 11:54:36 -0800 Subject: [PATCH] Add magic double-write of the dpll register to fix mac mini cold boot. --- src/i830_display.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/i830_display.c b/src/i830_display.c index c111145e..37a6e32e 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -758,6 +758,15 @@ i830_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, OUTREG(fp_reg, fp); OUTREG(dpll_reg, dpll); + + /* Magic re-write of the register for the Mac Mini. Without this, the + * first X invocation after a cold boot will stick in 4x pixel multiply + * mode. Alternatives that don't work include sleeping and doing an + * INREG for presumable pci write posting magic before and after the dpll + * write above. + */ + OUTREG(dpll_reg, dpll); + if (IS_I965G(pI830)) { int sdvo_pixel_multiply = adjusted_mode->Clock / mode->Clock; OUTREG(dpll_md_reg, (0 << DPLL_MD_UDI_DIVIDER_SHIFT) |