提交 a589b9f4 编写于 作者: C Chris Wilson

drm/i915: Explain why we need to write DPLL twice

... it's because setting the Pixel Multiply bits only takes effect once
the PLL is enabled and stable.
Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
上级 17fe6981
...@@ -4089,13 +4089,13 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, ...@@ -4089,13 +4089,13 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
} }
I915_WRITE(DPLL_MD(pipe), temp); I915_WRITE(DPLL_MD(pipe), temp);
} else { } else {
/* write it again -- the BIOS does, after all */ /* The pixel multiplier can only be updated once the
* DPLL is enabled and the clocks are stable.
*
* So write it again.
*/
I915_WRITE(dpll_reg, dpll); I915_WRITE(dpll_reg, dpll);
} }
/* Wait for the clocks to stabilize. */
POSTING_READ(dpll_reg);
udelay(150);
} }
intel_crtc->lowfreq_avail = false; intel_crtc->lowfreq_avail = false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册