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

Ben Hutchings benh at alioth.debian.org
Sat Apr 17 14:38:13 UTC 2010


Author: benh
Date: Sat Apr 17 14:38:09 2010
New Revision: 15516

Log:
i915: Stop trying to use ACPI lid status to determine LVDS connection (Closes: #577724)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/drm-i915-Stop-trying-to-use-ACPI-lid-status-to-deter.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/12

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Fri Apr 16 16:00:25 2010	(r15515)
+++ dists/sid/linux-2.6/debian/changelog	Sat Apr 17 14:38:09 2010	(r15516)
@@ -16,6 +16,8 @@
       conversion
     - Use vol_id if available since the version of blkid in lenny does not
       support the output format we need (Closes: #576608)
+  * i915: Stop trying to use ACPI lid status to determine LVDS connection
+    (Closes: #577724)
 
   [ maximilian attems]
   * Ignore ABI breakage due to libata switch.

Added: dists/sid/linux-2.6/debian/patches/bugfix/all/drm-i915-Stop-trying-to-use-ACPI-lid-status-to-deter.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/drm-i915-Stop-trying-to-use-ACPI-lid-status-to-deter.patch	Sat Apr 17 14:38:09 2010	(r15516)
@@ -0,0 +1,100 @@
+From: Eric Anholt <eric at anholt.net>
+Date: Wed, 17 Mar 2010 13:48:06 -0700
+Subject: [PATCH] drm/i915: Stop trying to use ACPI lid status to determine LVDS connection.
+
+I've been getting more and more quirk reports about this.  It seems
+clear at this point that other OSes are not using this for determining
+whether the integrated panel should be turned on, and it is not
+reliable for doing so.  Better to light up an unintended panel than to
+not light up the only usable output on the system.
+
+Signed-off-by: Eric Anholt <eric at anholt.net>
+Acked-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+[bwh: Backport to drm-2.6.33]
+
+--- a/drivers/gpu/drm/i915/i915_drv.h
++++ b/drivers/gpu/drm/i915/i915_drv.h
+@@ -1045,6 +1045,13 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
+ #define IS_I9XX(dev)		(INTEL_INFO(dev)->is_i9xx)
+ #define IS_MOBILE(dev)		(INTEL_INFO(dev)->is_mobile)
+ 
++#define IS_GEN3(dev)	(IS_I915G(dev) ||			\
++			 IS_I915GM(dev) ||			\
++			 IS_I945G(dev) ||			\
++			 IS_I945GM(dev) ||			\
++			 IS_G33(dev) || \
++			 IS_PINEVIEW(dev))
++
+ #define I915_NEED_GFX_HWS(dev)	(INTEL_INFO(dev)->need_gfx_hws)
+ 
+ /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte
+--- a/drivers/gpu/drm/i915/intel_lvds.c
++++ b/drivers/gpu/drm/i915/intel_lvds.c
+@@ -599,53 +599,6 @@ static void intel_lvds_mode_set(struct drm_encoder *encoder,
+ 	I915_WRITE(PFIT_CONTROL, lvds_priv->pfit_control);
+ }
+ 
+-/* Some lid devices report incorrect lid status, assume they're connected */
+-static const struct dmi_system_id bad_lid_status[] = {
+-	{
+-		.ident = "Compaq nx9020",
+-		.matches = {
+-			DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+-			DMI_MATCH(DMI_BOARD_NAME, "3084"),
+-		},
+-	},
+-	{
+-		.ident = "Samsung SX20S",
+-		.matches = {
+-			DMI_MATCH(DMI_SYS_VENDOR, "Samsung Electronics"),
+-			DMI_MATCH(DMI_BOARD_NAME, "SX20S"),
+-		},
+-	},
+-	{
+-		.ident = "Aspire One",
+-		.matches = {
+-			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+-			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire one"),
+-		},
+-	},
+-	{
+-		.ident = "Aspire 1810T",
+-		.matches = {
+-			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+-			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1810T"),
+-		},
+-	},
+-	{
+-		.ident = "PC-81005",
+-		.matches = {
+-			DMI_MATCH(DMI_SYS_VENDOR, "MALATA"),
+-			DMI_MATCH(DMI_PRODUCT_NAME, "PC-81005"),
+-		},
+-	},
+-	{
+-		.ident = "Clevo M5x0N",
+-		.matches = {
+-			DMI_MATCH(DMI_SYS_VENDOR, "CLEVO Co."),
+-			DMI_MATCH(DMI_BOARD_NAME, "M5x0N"),
+-		},
+-	},
+-	{ }
+-};
+-
+ /**
+  * Detect the LVDS connection.
+  *
+@@ -661,12 +614,9 @@ static enum drm_connector_status intel_lvds_detect(struct drm_connector *connect
+ 	/* ACPI lid methods were generally unreliable in this generation, so
+ 	 * don't even bother.
+ 	 */
+-	if (IS_I8XX(dev))
++	if (IS_I8XX(dev) || IS_GEN3(dev))
+ 		return connector_status_connected;
+ 
+-	if (!dmi_check_system(bad_lid_status) && !acpi_lid_open())
+-		status = connector_status_disconnected;
+-
+ 	return status;
+ }
+ 

Modified: dists/sid/linux-2.6/debian/patches/series/12
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/12	Fri Apr 16 16:00:25 2010	(r15515)
+++ dists/sid/linux-2.6/debian/patches/series/12	Sat Apr 17 14:38:09 2010	(r15516)
@@ -4,3 +4,4 @@
 + bugfix/all/phylib-fix-typo-in-bcm6xx-PHY-driver-table.patch
 + bugfix/all/ACPI-EC-Allow-multibyte-access-to-EC.patch
 + features/arm/dns323-rev-a1-gpio-request.patch
++ bugfix/all/drm-i915-Stop-trying-to-use-ACPI-lid-status-to-deter.patch



More information about the Kernel-svn-changes mailing list