diff mbox

drm/i915/tv: Clear state sense detection for Cantiga

Message ID 1303027865-22971-1-git-send-email-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson April 17, 2011, 8:11 a.m. UTC
From: Zhao Yakui <yakui.zhao@intel.com>

... otherwise the TV type will be misdetected and cause spurious
connections.

This was originally applied as fb8b5a39b6310379d7b54c0c7113703a8eaf4a57
(drm/i915: Configure the TV sense state correctly on GM45 to make TV
detection reliable)

Eric: Shortly after applying this patch you requested it to be reverted,
d4b74bf07873da2e94219a7b67a334fc1c3ce649 (Revert "drm/i915: Configure
the TV sense state correctly on GM45 to make TV), but we have no clear
information just what is broken by this patch and how to resolve it.

Reported-and-tested-by: darkbasic4@gmail.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27168
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Tested-by: Santi <santi@agolina.net>
Cc: Eric Anholt <eric@anholt.net>
---
 drivers/gpu/drm/i915/intel_tv.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index 6b22c1d..3047a66 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -1269,6 +1269,15 @@  intel_tv_detect_type (struct intel_tv *intel_tv,
 		   DAC_B_0_7_V |
 		   DAC_C_0_7_V);
 
+
+	/*
+	 * The TV sense state should be cleared to zero on cantiga platform. Otherwise
+	 * the TV is misdetected. This is hardware requirement.
+	 */
+	if (IS_GM45(dev))
+		tv_dac &= ~(TVDAC_STATE_CHG_EN | TVDAC_A_SENSE_CTL |
+			    TVDAC_B_SENSE_CTL | TVDAC_C_SENSE_CTL);
+
 	I915_WRITE(TV_CTL, tv_ctl);
 	I915_WRITE(TV_DAC, tv_dac);
 	POSTING_READ(TV_DAC);