[Intel-gfx] [PATCH 02/10] drm/i915: don't read DP_TP_STATUS(PORT_A)

Paulo Zanoni przanoni at gmail.com
Fri Jan 18 21:29:04 CET 2013


From: Paulo Zanoni <paulo.r.zanoni at intel.com>

Our documentation is wrong, this register does not exist on port A, so
sleep 800us since it's the timeout mentioned on the mode set sequence
document.

This fixes error messages, including "unclaimed register".

Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
---
 drivers/gpu/drm/i915/intel_dp.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 1492706..d83c279 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1788,9 +1788,12 @@ intel_dp_set_link_train(struct intel_dp *intel_dp,
 			temp |= DP_TP_CTL_LINK_TRAIN_IDLE;
 			I915_WRITE(DP_TP_CTL(port), temp);
 
-			if (wait_for((I915_READ(DP_TP_STATUS(port)) &
-				      DP_TP_STATUS_IDLE_DONE), 1))
-				DRM_ERROR("Timed out waiting for DP idle patterns\n");
+			if (port == PORT_A)
+				udelay(800);
+			else
+				if (wait_for((I915_READ(DP_TP_STATUS(port)) &
+					     DP_TP_STATUS_IDLE_DONE), 1))
+					DRM_ERROR("Timed out waiting for DP idle patterns\n");
 
 			temp &= ~DP_TP_CTL_LINK_TRAIN_MASK;
 			temp |= DP_TP_CTL_LINK_TRAIN_NORMAL;
-- 
1.7.10.4




More information about the Intel-gfx mailing list