summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2012-02-26 21:53:52 -0500
committerLuke Shumaker <LukeShu@sbcglobal.net>2012-02-26 21:53:52 -0500
commit7275399e96c64abc852c3746aa58d10bee8a5a44 (patch)
treea798ae34656585ec83f390dac95382ccc303919c /kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch
parent4bfc44a83c098d0f6d731b855541140fac36b8aa (diff)
parent31763e92611731c859ccbe4e97019afabb5ef91e (diff)
downloadabslibre-7275399e96c64abc852c3746aa58d10bee8a5a44.tar.gz
abslibre-7275399e96c64abc852c3746aa58d10bee8a5a44.tar.bz2
abslibre-7275399e96c64abc852c3746aa58d10bee8a5a44.zip
Merge branch 'master' of ssh://parabolagnulinux.org:1863/abslibre
Diffstat (limited to 'kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch')
-rw-r--r--kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch b/kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch
new file mode 100644
index 000000000..3b631361a
--- /dev/null
+++ b/kernels/linux-libre-xen/i915-fix-ghost-tv-output.patch
@@ -0,0 +1,26 @@
+Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
+Tested-by: Santi <santi@agolina.net>
+---
+ drivers/gpu/drm/i915/intel_tv.c | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
+index dc83b7a..c8f67bf 100644
+--- a/drivers/gpu/drm/i915/intel_tv.c
++++ b/drivers/gpu/drm/i915/intel_tv.c
+@@ -1267,6 +1267,15 @@
+ 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);