summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-lts-grsec/i915-fix-ghost-tv-output.patch
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-12-31 17:29:39 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-12-31 17:29:39 -0300
commit6f102d1647580e0bb9513c124b26a64c77da4f15 (patch)
tree0340f1f588be251183fe2b251bdba778f2c85c22 /kernels/linux-libre-lts-grsec/i915-fix-ghost-tv-output.patch
parent433900b14f11dc9ee55b72e8e5946bf47f65b636 (diff)
parentb6cb10de275cea63bab0bee2a98342afa4fdc4ee (diff)
downloadabslibre-6f102d1647580e0bb9513c124b26a64c77da4f15.tar.gz
abslibre-6f102d1647580e0bb9513c124b26a64c77da4f15.tar.bz2
abslibre-6f102d1647580e0bb9513c124b26a64c77da4f15.zip
Merge branch 'master' of ssh://gparabola/srv/git/abslibre
Diffstat (limited to 'kernels/linux-libre-lts-grsec/i915-fix-ghost-tv-output.patch')
-rw-r--r--kernels/linux-libre-lts-grsec/i915-fix-ghost-tv-output.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/kernels/linux-libre-lts-grsec/i915-fix-ghost-tv-output.patch b/kernels/linux-libre-lts-grsec/i915-fix-ghost-tv-output.patch
new file mode 100644
index 000000000..3b631361a
--- /dev/null
+++ b/kernels/linux-libre-lts-grsec/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);