Let the PLL lockup before using it.

* The PLL need some time to stabilize and generate a reliable pixel
clock
* Enabling the display pipe before that happens leads to some frames
with bad timing. This may confuse some VGA displays into entering
"unsupported mode" error.

Fixes #10271. Thanks for investigating this!
This commit is contained in:
Adrien Destugues 2014-01-23 08:23:37 +01:00
parent 0def0b0d62
commit 9e751dda2e

View File

@ -1126,7 +1126,9 @@ if (first) {
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);