提交 3538b9df 编写于 作者: M Maarten Lankhorst 提交者: Jani Nikula

drm/i915: Use atomic state for calculating DVO_2X_MODE on i830.

This is a small behavioral change because it leaves DVO_2X_MODE
set between crtc_disable and crtc_enable. This is probably harmless
though and if not should be fixed by calculating 2x mode before
enable/disable pll.

This is needed because intel_crtc->active will be removed eventually.
Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: NMatt Roper <matthew.d.roper@intel.com>
Signed-off-by: NJani Nikula <jani.nikula@intel.com>
上级 99d736a2
...@@ -1698,7 +1698,7 @@ static int intel_num_dvo_pipes(struct drm_device *dev) ...@@ -1698,7 +1698,7 @@ static int intel_num_dvo_pipes(struct drm_device *dev)
int count = 0; int count = 0;
for_each_intel_crtc(dev, crtc) for_each_intel_crtc(dev, crtc)
count += crtc->active && count += crtc->base.state->active &&
intel_pipe_has_type(crtc, INTEL_OUTPUT_DVO); intel_pipe_has_type(crtc, INTEL_OUTPUT_DVO);
return count; return count;
...@@ -1779,7 +1779,7 @@ static void i9xx_disable_pll(struct intel_crtc *crtc) ...@@ -1779,7 +1779,7 @@ static void i9xx_disable_pll(struct intel_crtc *crtc)
/* Disable DVO 2x clock on both PLLs if necessary */ /* Disable DVO 2x clock on both PLLs if necessary */
if (IS_I830(dev) && if (IS_I830(dev) &&
intel_pipe_has_type(crtc, INTEL_OUTPUT_DVO) && intel_pipe_has_type(crtc, INTEL_OUTPUT_DVO) &&
intel_num_dvo_pipes(dev) == 1) { !intel_num_dvo_pipes(dev)) {
I915_WRITE(DPLL(PIPE_B), I915_WRITE(DPLL(PIPE_B),
I915_READ(DPLL(PIPE_B)) & ~DPLL_DVO_2X_MODE); I915_READ(DPLL(PIPE_B)) & ~DPLL_DVO_2X_MODE);
I915_WRITE(DPLL(PIPE_A), I915_WRITE(DPLL(PIPE_A),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册