diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-09-17 18:45:26 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-09-17 18:45:26 -0400 |
commit | 7121413f2accf14cf05b38539fb7a8be77543370 (patch) | |
tree | 7d7abb0b44052561b5f83ed229fa7ae9f9f12c67 /drivers/gpu | |
parent | 1a133e0c9dabda23e6693cabfdc1d5106dca5fc2 (diff) |
drm/i915: blacklist Acer AspireOne lid status
It reports closed when open, leading to "no outputs found" at startup
unless a VGA cable is plugged in.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/intel_lvds.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index c1cc5566e20b..98ae3d73577e 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
@@ -591,6 +591,18 @@ static void intel_lvds_mode_set(struct drm_encoder *encoder, | |||
591 | I915_WRITE(PFIT_CONTROL, lvds_priv->pfit_control); | 591 | I915_WRITE(PFIT_CONTROL, lvds_priv->pfit_control); |
592 | } | 592 | } |
593 | 593 | ||
594 | /* Some lid devices report incorrect lid status, assume they're connected */ | ||
595 | static const struct dmi_system_id bad_lid_status[] = { | ||
596 | { | ||
597 | .ident = "Aspire One", | ||
598 | .matches = { | ||
599 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | ||
600 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire one"), | ||
601 | }, | ||
602 | }, | ||
603 | { } | ||
604 | }; | ||
605 | |||
594 | /** | 606 | /** |
595 | * Detect the LVDS connection. | 607 | * Detect the LVDS connection. |
596 | * | 608 | * |
@@ -602,7 +614,7 @@ static enum drm_connector_status intel_lvds_detect(struct drm_connector *connect | |||
602 | { | 614 | { |
603 | enum drm_connector_status status = connector_status_connected; | 615 | enum drm_connector_status status = connector_status_connected; |
604 | 616 | ||
605 | if (!acpi_lid_open()) | 617 | if (!acpi_lid_open() && !dmi_check_system(bad_lid_status)) |
606 | status = connector_status_disconnected; | 618 | status = connector_status_disconnected; |
607 | 619 | ||
608 | return status; | 620 | return status; |