[kernel] r16133 - in dists/sid/linux-2.6/debian: . patches/bugfix/all patches/bugfix/x86 patches/series

Ben Hutchings benh at alioth.debian.org
Fri Aug 13 22:56:14 UTC 2010


Author: benh
Date: Fri Aug 13 22:56:12 2010
New Revision: 16133

Log:
Add drm changes from stable 2.6.34.4

These can't be extracted by gen-patch since our base version is 2.6.33.

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/drm-edid-Fix-the-HDTV-hack-sync-adjustment.patch
   dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Use-RSEN-instead-of-HTPLG-for-tfp410-monito.patch
   dists/sid/linux-2.6/debian/patches/bugfix/x86/i915-fix-ironlake-edp-panel-setup-v4.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/21

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Fri Aug 13 22:23:40 2010	(r16132)
+++ dists/sid/linux-2.6/debian/changelog	Fri Aug 13 22:56:12 2010	(r16133)
@@ -3,8 +3,7 @@
   [ Ben Hutchings ]
   * Add stable 2.6.32.19:
     - Revert ABI change in sched.h
-  * Add relevant changes from stable 2.6.34.4:
-    - rt2870: Add USB ID for Belkin F6D4050 v2
+  * Add drm and other relevant changes from stable 2.6.34.4
 
  -- Ben Hutchings <ben at decadent.org.uk>  Thu, 12 Aug 2010 23:20:55 +0100
 

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/drm-edid-Fix-the-HDTV-hack-sync-adjustment.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/drm-edid-Fix-the-HDTV-hack-sync-adjustment.patch	Fri Aug 13 22:56:12 2010	(r16133)
@@ -0,0 +1,32 @@
+From 12d7b7032e9450a742709e67366d8c2960cd8f78 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax at redhat.com>
+Date: Wed, 28 Jul 2010 07:40:32 +1000
+Subject: [PATCH 1/3] drm/edid: Fix the HDTV hack sync adjustment
+
+We're adjusting horizontal timings only here, moving vsync was just a
+slavish translation of a typo in the X server.
+
+Signed-off-by: Adam Jackson <ajax at redhat.com>
+Signed-off-by: Dave Airlie <airlied at redhat.com>
+---
+ drivers/gpu/drm/drm_edid.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
+index 48b07ef..f73541b 100644
+--- a/drivers/gpu/drm/drm_edid.c
++++ b/drivers/gpu/drm/drm_edid.c
+@@ -576,8 +576,8 @@ struct drm_display_mode *drm_mode_std(struct drm_device *dev,
+ 		mode = drm_cvt_mode(dev, hsize, vsize, vrefresh_rate, 0, 0,
+ 				    false);
+ 		mode->hdisplay = 1366;
+-		mode->vsync_start = mode->vsync_start - 1;
+-		mode->vsync_end = mode->vsync_end - 1;
++		mode->hsync_start = mode->hsync_start - 1;
++		mode->hsync_end = mode->hsync_end - 1;
+ 		return mode;
+ 	}
+ 	mode = NULL;
+-- 
+1.7.1
+

Added: dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Use-RSEN-instead-of-HTPLG-for-tfp410-monito.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-Use-RSEN-instead-of-HTPLG-for-tfp410-monito.patch	Fri Aug 13 22:56:12 2010	(r16133)
@@ -0,0 +1,34 @@
+From 466cb9f22db2b2e75d106bab3b4f1d2c8bbede42 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dave=20M=C3=BCller?= <dave.mueller at gmx.ch>
+Date: Fri, 4 Jun 2010 16:39:59 -0700
+Subject: [PATCH 2/3] drm/i915: Use RSEN instead of HTPLG for tfp410 monitor detection.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+commit f458823b864c6def488f951a79986fa205aba4f1 upstream.
+
+Presence detection of a digital monitor seems not to be reliable using
+the HTPLG bit.
+
+Dave Müller <dave.mueller at gmx.ch>
+---
+ drivers/gpu/drm/i915/dvo_tfp410.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/dvo_tfp410.c b/drivers/gpu/drm/i915/dvo_tfp410.c
+index c7c391b..ad2e309 100644
+--- a/drivers/gpu/drm/i915/dvo_tfp410.c
++++ b/drivers/gpu/drm/i915/dvo_tfp410.c
+@@ -216,7 +216,7 @@ static enum drm_connector_status tfp410_detect(struct intel_dvo_device *dvo)
+ 	uint8_t ctl2;
+ 
+ 	if (tfp410_readb(dvo, TFP410_CTL_2, &ctl2)) {
+-		if (ctl2 & TFP410_CTL_2_HTPLG)
++		if (ctl2 & TFP410_CTL_2_RSEN)
+ 			ret = connector_status_connected;
+ 		else
+ 			ret = connector_status_disconnected;
+-- 
+1.7.1
+

Added: dists/sid/linux-2.6/debian/patches/bugfix/x86/i915-fix-ironlake-edp-panel-setup-v4.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/x86/i915-fix-ironlake-edp-panel-setup-v4.patch	Fri Aug 13 22:56:12 2010	(r16133)
@@ -0,0 +1,89 @@
+From 3d6bd609b25fe07c9fdc4b1297a2299d747e2c05 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied at redhat.com>
+Date: Wed, 30 Jun 2010 11:46:17 +1000
+Subject: [PATCH 3/3] i915: fix ironlake edp panel setup (v4)
+
+commit fe27d53e5c597ee5ba5d72a29d517091f244e974 upstream.
+
+The eDP spec claims a 20% overhead for the 8:10 encoding scheme used
+on the wire. Take this into account when picking the lane/clock speed
+for the panel.
+
+v3: some panels are out of spec, try our best to deal with them, don't
+refuse modes on eDP panels, and try the largest allowed settings if
+all else fails on eDP.
+v4: fix stupid typo, forgot to git add before amending.
+
+Fixes several reports in bugzilla:
+
+      https://bugs.freedesktop.org/show_bug.cgi?id=28070
+
+Signed-off-by: Dave Airlie <airlied at redhat.com>
+Signed-off-by: Eric Anholt <eric at anholt.net>
+[bwh: Adjust for 2.6.32-drm33]
+---
+ drivers/gpu/drm/i915/intel_dp.c |   27 ++++++++++++++++++++++++---
+ 1 files changed, 24 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
+index 6b62762..63ea21e 100644
+--- a/drivers/gpu/drm/i915/intel_dp.c
++++ b/drivers/gpu/drm/i915/intel_dp.c
+@@ -137,6 +137,12 @@ intel_dp_link_required(struct drm_device *dev,
+ }
+ 
+ static int
++intel_dp_max_data_rate(int max_link_clock, int max_lanes)
++{
++	return (max_link_clock * max_lanes * 8) / 10;
++}
++
++static int
+ intel_dp_mode_valid(struct drm_connector *connector,
+ 		    struct drm_display_mode *mode)
+ {
+@@ -144,8 +150,11 @@ intel_dp_mode_valid(struct drm_connector *connector,
+ 	int max_link_clock = intel_dp_link_clock(intel_dp_max_link_bw(intel_output));
+ 	int max_lanes = intel_dp_max_lane_count(intel_output);
+ 
+-	if (intel_dp_link_required(connector->dev, intel_output, mode->clock)
+-			> max_link_clock * max_lanes)
++	/* only refuse the mode on non eDP since we have seen some wierd eDP panels
++	   which are outside spec tolerances but somehow work by magic */
++	if (!IS_eDP(intel_output) &&
++	    (intel_dp_link_required(connector->dev, intel_output, mode->clock)
++	     > intel_dp_max_data_rate(max_link_clock, max_lanes)))
+ 		return MODE_CLOCK_HIGH;
+ 
+ 	if (mode->clock < 10000)
+@@ -497,7 +506,7 @@ intel_dp_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode,
+ 
+ 	for (lane_count = 1; lane_count <= max_lane_count; lane_count <<= 1) {
+ 		for (clock = 0; clock <= max_clock; clock++) {
+-			int link_avail = intel_dp_link_clock(bws[clock]) * lane_count;
++			int link_avail = intel_dp_max_data_rate(intel_dp_link_clock(bws[clock]), lane_count);
+ 
+ 			if (intel_dp_link_required(encoder->dev, intel_output, mode->clock)
+ 					<= link_avail) {
+@@ -512,6 +521,18 @@ intel_dp_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode,
+ 			}
+ 		}
+ 	}
++
++	if (IS_eDP(intel_output)) {
++		/* okay we failed just pick the highest */
++		dp_priv->lane_count = max_lane_count;
++		dp_priv->link_bw = bws[max_clock];
++		adjusted_mode->clock = intel_dp_link_clock(dp_priv->link_bw);
++		DRM_DEBUG_KMS("Force picking display port link bw %02x lane "
++			      "count %d clock %d\n",
++			      dp_priv->link_bw, dp_priv->lane_count,
++			      adjusted_mode->clock);
++		return true;
++	}
+ 	return false;
+ }
+ 
+-- 
+1.7.1
+

Modified: dists/sid/linux-2.6/debian/patches/series/21
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/21	Fri Aug 13 22:23:40 2010	(r16132)
+++ dists/sid/linux-2.6/debian/patches/series/21	Fri Aug 13 22:56:12 2010	(r16133)
@@ -5,3 +5,6 @@
 + debian/revert-sched-cputime-Introduce-thread_group_times.patch
 + features/all/USB-option-Use-generic-USB-wwan-code-3.patch
 + bugfix/all/stable/2.6.34.4.patch
++ bugfix/all/drm-edid-Fix-the-HDTV-hack-sync-adjustment.patch
++ bugfix/x86/drm-i915-Use-RSEN-instead-of-HTPLG-for-tfp410-monito.patch
++ bugfix/x86/i915-fix-ironlake-edp-panel-setup-v4.patch



More information about the Kernel-svn-changes mailing list