drm/i915: give up on 8xx lid status
authorJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 12 Feb 2010 17:30:00 +0000 (09:30 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Jul 2010 18:11:11 +0000 (11:11 -0700)
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>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/i915/intel_lvds.c

index 4a85aa38e9e819ae6d2d3e11bbb5f735bcf6298e..bf0576298948311c48a0e7e37b1bbd256f022158 100644 (file)
@@ -648,8 +648,12 @@ static const struct dmi_system_id bad_lid_status[] = {
  */
 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;
 
+       if (IS_I8XX(dev))
+               return connector_status_connected;
+
        if (!acpi_lid_open() && !dmi_check_system(bad_lid_status))
                status = connector_status_disconnected;