42 lines
1.4 KiB
Diff
42 lines
1.4 KiB
Diff
From 7b9c5abee98c54f85bcc04bd4d7ec8d5094c73f4 Mon Sep 17 00:00:00 2001
|
|
From: Jesse Barnes <jbarnes@virtuousgeek.org>
|
|
Date: Fri, 12 Feb 2010 09:30:00 -0800
|
|
Subject: drm/i915: give up on 8xx lid status
|
|
|
|
From: Jesse Barnes <jbarnes@virtuousgeek.org>
|
|
|
|
commit 7b9c5abee98c54f85bcc04bd4d7ec8d5094c73f4 upstream.
|
|
|
|
These old machines more often than not lie about their lid state. So
|
|
don't use it to detect LVDS presence, but leave the event handler to
|
|
deal with lid open/close, when we might need to reset the mode.
|
|
|
|
Fixes kernel bug #15248
|
|
|
|
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
|
|
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
|
|
---
|
|
drivers/gpu/drm/i915/intel_lvds.c | 7 +++++++
|
|
1 file changed, 7 insertions(+)
|
|
|
|
--- a/drivers/gpu/drm/i915/intel_lvds.c
|
|
+++ b/drivers/gpu/drm/i915/intel_lvds.c
|
|
@@ -655,8 +655,15 @@ static const struct dmi_system_id bad_li
|
|
*/
|
|
static enum drm_connector_status intel_lvds_detect(struct drm_connector *connector)
|
|
{
|
|
+ struct drm_device *dev = connector->dev;
|
|
enum drm_connector_status status = connector_status_connected;
|
|
|
|
+ /* ACPI lid methods were generally unreliable in this generation, so
|
|
+ * don't even bother.
|
|
+ */
|
|
+ if (IS_I8XX(dev))
|
|
+ return connector_status_connected;
|
|
+
|
|
if (!dmi_check_system(bad_lid_status) && !acpi_lid_open())
|
|
status = connector_status_disconnected;
|
|
|