diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 2dfa6cf4886b..c040aee1341c 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -1376,7 +1376,8 @@ static void assert_pch_dp_disabled(struct drm_i915_private *dev_priv, | |||
| 1376 | "PCH DP (0x%08x) enabled on transcoder %c, should be disabled\n", | 1376 | "PCH DP (0x%08x) enabled on transcoder %c, should be disabled\n", |
| 1377 | reg, pipe_name(pipe)); | 1377 | reg, pipe_name(pipe)); |
| 1378 | 1378 | ||
| 1379 | WARN(HAS_PCH_IBX(dev_priv->dev) && (val & SDVO_PIPE_B_SELECT), | 1379 | WARN(HAS_PCH_IBX(dev_priv->dev) && (val & DP_PORT_EN) == 0 |
| 1380 | && (val & DP_PIPEB_SELECT), | ||
| 1380 | "IBX PCH dp port still using transcoder B\n"); | 1381 | "IBX PCH dp port still using transcoder B\n"); |
| 1381 | } | 1382 | } |
| 1382 | 1383 | ||
| @@ -1388,7 +1389,8 @@ static void assert_pch_hdmi_disabled(struct drm_i915_private *dev_priv, | |||
| 1388 | "PCH HDMI (0x%08x) enabled on transcoder %c, should be disabled\n", | 1389 | "PCH HDMI (0x%08x) enabled on transcoder %c, should be disabled\n", |
| 1389 | reg, pipe_name(pipe)); | 1390 | reg, pipe_name(pipe)); |
| 1390 | 1391 | ||
| 1391 | WARN(HAS_PCH_IBX(dev_priv->dev) && (val & SDVO_PIPE_B_SELECT), | 1392 | WARN(HAS_PCH_IBX(dev_priv->dev) && (val & PORT_ENABLE) == 0 |
| 1393 | && (val & SDVO_PIPE_B_SELECT), | ||
| 1392 | "IBX PCH hdmi port still using transcoder B\n"); | 1394 | "IBX PCH hdmi port still using transcoder B\n"); |
| 1393 | } | 1395 | } |
| 1394 | 1396 | ||
| @@ -4189,12 +4191,6 @@ static void i8xx_update_pll(struct drm_crtc *crtc, | |||
| 4189 | POSTING_READ(DPLL(pipe)); | 4191 | POSTING_READ(DPLL(pipe)); |
| 4190 | udelay(150); | 4192 | udelay(150); |
| 4191 | 4193 | ||
| 4192 | I915_WRITE(DPLL(pipe), dpll); | ||
| 4193 | |||
| 4194 | /* Wait for the clocks to stabilize. */ | ||
| 4195 | POSTING_READ(DPLL(pipe)); | ||
| 4196 | udelay(150); | ||
| 4197 | |||
| 4198 | /* The LVDS pin pair needs to be on before the DPLLs are enabled. | 4194 | /* The LVDS pin pair needs to be on before the DPLLs are enabled. |
| 4199 | * This is an exception to the general rule that mode_set doesn't turn | 4195 | * This is an exception to the general rule that mode_set doesn't turn |
| 4200 | * things on. | 4196 | * things on. |
| @@ -4202,6 +4198,12 @@ static void i8xx_update_pll(struct drm_crtc *crtc, | |||
| 4202 | if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) | 4198 | if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) |
| 4203 | intel_update_lvds(crtc, clock, adjusted_mode); | 4199 | intel_update_lvds(crtc, clock, adjusted_mode); |
| 4204 | 4200 | ||
| 4201 | I915_WRITE(DPLL(pipe), dpll); | ||
| 4202 | |||
| 4203 | /* Wait for the clocks to stabilize. */ | ||
| 4204 | POSTING_READ(DPLL(pipe)); | ||
| 4205 | udelay(150); | ||
| 4206 | |||
| 4205 | /* The pixel multiplier can only be updated once the | 4207 | /* The pixel multiplier can only be updated once the |
| 4206 | * DPLL is enabled and the clocks are stable. | 4208 | * DPLL is enabled and the clocks are stable. |
| 4207 | * | 4209 | * |
