]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Oct 2013 21:24:40 +0000 (14:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 2 Oct 2013 21:24:40 +0000 (14:24 -0700)
added patches:
drm-i915-tv-clear-adjusted_mode.flags.patch

queue-3.10/drm-i915-tv-clear-adjusted_mode.flags.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/drm-i915-tv-clear-adjusted_mode.flags.patch b/queue-3.10/drm-i915-tv-clear-adjusted_mode.flags.patch
new file mode 100644 (file)
index 0000000..e265bb8
--- /dev/null
@@ -0,0 +1,63 @@
+From 1062b81598bc00e2f6620e6f3788f8f8df2f01e7 Mon Sep 17 00:00:00 2001
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+Date: Tue, 10 Sep 2013 11:44:30 +0200
+Subject: drm/i915/tv: clear adjusted_mode.flags
+
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+
+commit 1062b81598bc00e2f6620e6f3788f8f8df2f01e7 upstream.
+
+The native TV encoder has it's own flags to adjust sync modes and
+enabled interlaced modes which are totally irrelevant for the adjusted
+mode. This worked out nicely since the input modes used by both the
+load detect code and reported in the ->get_modes callbacks all have no
+flags set, and we also don't fill out any of them in the ->get_config
+callback.
+
+This changed with the additional sanitation done with
+
+commit 2960bc9cceecb5d556ce1c07656a6609e2f7e8b0
+Author: Imre Deak <imre.deak@intel.com>
+Date:   Tue Jul 30 13:36:32 2013 +0300
+
+    drm/i915: make user mode sync polarity setting explicit
+
+sinc now the "no flags at all" state wouldn't fit through core code
+any more. So fix this up again by explicitly clearing the flags in the
+->compute_config callback.
+
+Aside: We have zero checking in place to make sure that the requested
+mode is indeed the right input mode we want for the selected TV mode.
+So we'll happily fall over if userspace tries to pull us.  But that's
+definitely work for a different patch series. So just add a FIXME
+comment for now.
+
+Reported-by: Knut Petersen <Knut_Petersen@t-online.de>
+Cc: Knut Petersen <Knut_Petersen@t-online.de>
+Cc: Imre Deak <imre.deak@intel.com>
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+Tested-by: Knut Petersen <Knut_Petersen@t-online.de>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_tv.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_tv.c
++++ b/drivers/gpu/drm/i915/intel_tv.c
+@@ -921,6 +921,14 @@ intel_tv_compute_config(struct intel_enc
+       DRM_DEBUG_KMS("forcing bpc to 8 for TV\n");
+       pipe_config->pipe_bpp = 8*3;
++      /* TV has it's own notion of sync and other mode flags, so clear them. */
++      pipe_config->adjusted_mode.flags = 0;
++
++      /*
++       * FIXME: We don't check whether the input mode is actually what we want
++       * or whether userspace is doing something stupid.
++       */
++
+       return true;
+ }
index bcd9401602d98fef9974feb6938b25e75df1ad8c..c6f5aa5886b5518d29abb3194395c925d8117d3b 100644 (file)
@@ -22,3 +22,4 @@ serial-pch_uart-fix-tty-kref-leak-in-dma-rx-path.patch
 arm-7837-3-fix-thumb-2-bug-in-aes-assembler-code.patch
 staging-vt6656-main_usb.c-oops-on-device_close-move-flag-earlier.patch
 staging-vt6656-iwctl_siwencodeext-return-if-device-not-open.patch
+drm-i915-tv-clear-adjusted_mode.flags.patch