drm/i915: disable opregion lid detection for now.
authorDave Airlie <airlied@redhat.com>
Mon, 14 Mar 2011 04:17:55 +0000 (14:17 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 14 Mar 2011 04:37:41 +0000 (14:37 +1000)
At least on my HP 2540p this is wrong at bootup, fine
at any other time once a lid event has occured. This is due to
_REG vs _INI ordering in the ACPI tables.

Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/i915/intel_panel.c

index 18391b3..4e5ff59 100644 (file)
@@ -248,18 +248,24 @@ void intel_panel_setup_backlight(struct drm_device *dev)
 enum drm_connector_status
 intel_panel_detect(struct drm_device *dev)
 {
+#if 0
        struct drm_i915_private *dev_priv = dev->dev_private;
+#endif
 
        if (i915_panel_ignore_lid)
                return i915_panel_ignore_lid > 0 ?
                        connector_status_connected :
                        connector_status_disconnected;
 
+       /* opregion lid state on HP 2540p is wrong at boot up,
+        * appears to be either the BIOS or Linux ACPI fault */
+#if 0
        /* Assume that the BIOS does not lie through the OpRegion... */
        if (dev_priv->opregion.lid_state)
                return ioread32(dev_priv->opregion.lid_state) & 0x1 ?
                        connector_status_connected :
                        connector_status_disconnected;
+#endif
 
        return connector_status_unknown;
 }