From 90565962f416f947ed4cd41af8e75aa27dabdc57 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 2 Oct 2013 14:24:40 -0700 Subject: [PATCH] 3.10-stable patches added patches: drm-i915-tv-clear-adjusted_mode.flags.patch --- ...rm-i915-tv-clear-adjusted_mode.flags.patch | 63 +++++++++++++++++++ queue-3.10/series | 1 + 2 files changed, 64 insertions(+) create mode 100644 queue-3.10/drm-i915-tv-clear-adjusted_mode.flags.patch 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 index 00000000000..e265bb8e305 --- /dev/null +++ b/queue-3.10/drm-i915-tv-clear-adjusted_mode.flags.patch @@ -0,0 +1,63 @@ +From 1062b81598bc00e2f6620e6f3788f8f8df2f01e7 Mon Sep 17 00:00:00 2001 +From: Daniel Vetter +Date: Tue, 10 Sep 2013 11:44:30 +0200 +Subject: drm/i915/tv: clear adjusted_mode.flags + +From: Daniel Vetter + +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 +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 +Cc: Knut Petersen +Cc: Imre Deak +Cc: Chris Wilson +Tested-by: Knut Petersen +Signed-off-by: Daniel Vetter +Signed-off-by: Greg Kroah-Hartman + +--- + 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; + } + diff --git a/queue-3.10/series b/queue-3.10/series index bcd9401602d..c6f5aa5886b 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -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 -- 2.47.3