--- /dev/null
+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;
+ }
+