diff --git a/src/add-ons/accelerants/intel_extreme/Ports.cpp b/src/add-ons/accelerants/intel_extreme/Ports.cpp index d6140106e5..53913ee582 100644 --- a/src/add-ons/accelerants/intel_extreme/Ports.cpp +++ b/src/add-ons/accelerants/intel_extreme/Ports.cpp @@ -252,7 +252,9 @@ AnalogPort::SetDisplayMode(display_mode* target, uint32 colorMode) pll |= DISPLAY_PLL_POST1_DIVIDE_2; } - write32(INTEL_DISPLAY_A_PLL, pll); + // Programmer's Ref says we must allow the DPLL to "warm up" before starting the plane + // so mask its bit, wait, enable its bit + write32(INTEL_DISPLAY_A_PLL, pll & ~DISPLAY_PLL_NO_VGA_CONTROL); read32(INTEL_DISPLAY_A_PLL); spin(150); write32(INTEL_DISPLAY_A_PLL, pll);