aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp.c
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2011-07-21 17:48:38 -0400
committerKeith Packard <keithp@keithp.com>2011-07-25 18:19:19 -0400
commite85194641bec56179dcf5e1704ce5c6bf30340c6 (patch)
tree0c3f8b1c049d2dfeaeb2c3221980c9c6a23a212d /drivers/gpu/drm/i915/intel_dp.c
parent81055854d096959898fdc17ed11729eb019eff07 (diff)
drm/i915/dp: Don't turn CPT DP ports on too early
The docs say the port has to come on in training pattern 1; at this point, though, ->DP is in normal mode. The intent here is to wait until the port is in fact sending data, but that doesn't happen since we've broken the sequence the hardware expects, and the vblank wait will time out and kvetch in the log. Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 8aecb072466b..dcc7ae6d4141 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1334,10 +1334,16 @@ intel_dp_start_link_train(struct intel_dp *intel_dp)
1334 u32 reg; 1334 u32 reg;
1335 uint32_t DP = intel_dp->DP; 1335 uint32_t DP = intel_dp->DP;
1336 1336
1337 /* Enable output, wait for it to become active */ 1337 /*
1338 I915_WRITE(intel_dp->output_reg, intel_dp->DP); 1338 * On CPT we have to enable the port in training pattern 1, which
1339 POSTING_READ(intel_dp->output_reg); 1339 * will happen below in intel_dp_set_link_train. Otherwise, enable
1340 intel_wait_for_vblank(dev, intel_crtc->pipe); 1340 * the port and wait for it to become active.
1341 */
1342 if (!HAS_PCH_CPT(dev)) {
1343 I915_WRITE(intel_dp->output_reg, intel_dp->DP);
1344 POSTING_READ(intel_dp->output_reg);
1345 intel_wait_for_vblank(dev, intel_crtc->pipe);
1346 }
1341 1347
1342 /* Write the link configuration data */ 1348 /* Write the link configuration data */
1343 intel_dp_aux_native_write(intel_dp, DP_LINK_BW_SET, 1349 intel_dp_aux_native_write(intel_dp, DP_LINK_BW_SET,