summaryrefslogtreecommitdiffstats
path: root/freed-ora/tags/f18/3.8.6-201.fc18.gnu/drm-i915-tv-detect-hush.patch
diff options
context:
space:
mode:
Diffstat (limited to 'freed-ora/tags/f18/3.8.6-201.fc18.gnu/drm-i915-tv-detect-hush.patch')
-rw-r--r--freed-ora/tags/f18/3.8.6-201.fc18.gnu/drm-i915-tv-detect-hush.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/freed-ora/tags/f18/3.8.6-201.fc18.gnu/drm-i915-tv-detect-hush.patch b/freed-ora/tags/f18/3.8.6-201.fc18.gnu/drm-i915-tv-detect-hush.patch
new file mode 100644
index 000000000..e774db071
--- /dev/null
+++ b/freed-ora/tags/f18/3.8.6-201.fc18.gnu/drm-i915-tv-detect-hush.patch
@@ -0,0 +1,46 @@
+Obviously this is not upstreamable...
+
+diff -up linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_display.c.jx linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_display.c
+--- linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_display.c.jx 2013-01-30 12:03:28.000000000 -0500
++++ linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_display.c 2013-01-30 12:40:53.177449368 -0500
+@@ -6925,6 +6925,11 @@ intel_modeset_check_state(struct drm_dev
+ struct intel_encoder *encoder;
+ struct intel_connector *connector;
+
++ /* oh hush */
++ extern int i915_in_tv_detect;
++ if (i915_in_tv_detect)
++ return;
++
+ list_for_each_entry(connector, &dev->mode_config.connector_list,
+ base.head) {
+ /* This also checks the encoder/connector hw state with the
+diff -up linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_tv.c.jx linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_tv.c
+--- linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_tv.c.jx 2012-12-10 22:30:57.000000000 -0500
++++ linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_tv.c 2013-01-30 12:39:34.318593585 -0500
+@@ -1296,6 +1296,8 @@ static void intel_tv_find_better_format(
+ connector->dev->mode_config.tv_mode_property, i);
+ }
+
++int i915_in_tv_detect = 0;
++
+ /**
+ * Detect the TV connection.
+ *
+@@ -1314,11 +1316,15 @@ intel_tv_detect(struct drm_connector *co
+ if (force) {
+ struct intel_load_detect_pipe tmp;
+
++ i915_in_tv_detect = 1;
+ if (intel_get_load_detect_pipe(connector, &mode, &tmp)) {
+ type = intel_tv_detect_type(intel_tv, connector);
+ intel_release_load_detect_pipe(connector, &tmp);
+- } else
++ i915_in_tv_detect = 0;
++ } else {
++ i915_in_tv_detect = 0;
+ return connector_status_unknown;
++ }
+ } else
+ return connector->status;
+
OpenPOWER on IntegriCloud