[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