i915: Stop trying to use ACPI lid status to determine LVDS connection (Closes: #577724)
svn path=/dists/sid/linux-2.6/; revision=15516
This commit is contained in:
parent
b7455df339
commit
ee494c641c
|
@ -16,6 +16,8 @@ linux-2.6 (2.6.32-12) UNRELEASED; urgency=low
|
|||
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.
|
||||
|
|
100
debian/patches/bugfix/all/drm-i915-Stop-trying-to-use-ACPI-lid-status-to-deter.patch
vendored
Normal file
100
debian/patches/bugfix/all/drm-i915-Stop-trying-to-use-ACPI-lid-status-to-deter.patch
vendored
Normal file
|
@ -0,0 +1,100 @@
|
|||
From: Eric Anholt <eric@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@anholt.net>
|
||||
Acked-by: Jesse Barnes <jbarnes@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;
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue