|
@@ -4191,12 +4191,6 @@ static void i8xx_update_pll(struct drm_crtc *crtc,
|
|
|
POSTING_READ(DPLL(pipe));
|
|
|
udelay(150);
|
|
|
|
|
|
- I915_WRITE(DPLL(pipe), dpll);
|
|
|
-
|
|
|
- /* Wait for the clocks to stabilize. */
|
|
|
- POSTING_READ(DPLL(pipe));
|
|
|
- udelay(150);
|
|
|
-
|
|
|
/* The LVDS pin pair needs to be on before the DPLLs are enabled.
|
|
|
* This is an exception to the general rule that mode_set doesn't turn
|
|
|
* things on.
|
|
@@ -4204,6 +4198,12 @@ static void i8xx_update_pll(struct drm_crtc *crtc,
|
|
|
if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS))
|
|
|
intel_update_lvds(crtc, clock, adjusted_mode);
|
|
|
|
|
|
+ I915_WRITE(DPLL(pipe), dpll);
|
|
|
+
|
|
|
+ /* Wait for the clocks to stabilize. */
|
|
|
+ POSTING_READ(DPLL(pipe));
|
|
|
+ udelay(150);
|
|
|
+
|
|
|
/* The pixel multiplier can only be updated once the
|
|
|
* DPLL is enabled and the clocks are stable.
|
|
|
*
|