Patchwork [1/1] (pre-stable) drm/nouveau: report unknown connector state if lid closed

login
register
mail settings
Submitter Chase Douglas
Date March 24, 2010, 1:22 a.m.
Message ID <1269393741-2970-2-git-send-email-chase.douglas@canonical.com>
Download mbox | patch
Permalink /patch/48375/
State Accepted
Headers show

Comments

Chase Douglas - March 24, 2010, 1:22 a.m.
From: Ben Skeggs <bskeggs@redhat.com>

This is in preference to disconnected.  If there's no other outputs
connected this will cause LVDS to be programmed even with the lid
closed rather than having X fail to start because of no available
outputs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
(cherry picked from commit b30083bdb990bcc2829fce83d871a86059ff4fc1)

BugLink: http://bugs.launchpad.net/bugs/523072

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
---
 drivers/gpu/drm/nouveau/nouveau_connector.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

Patch

diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index d2f6335..a378bc3 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -239,12 +239,14 @@  nouveau_connector_detect(struct drm_connector *connector)
 	if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)
 		nv_encoder = find_encoder_by_type(connector, OUTPUT_LVDS);
 	if (nv_encoder && nv_connector->native_mode) {
+		unsigned status = connector_status_connected;
+
 #ifdef CONFIG_ACPI
 		if (!nouveau_ignorelid && !acpi_lid_open())
-			return connector_status_disconnected;
+			status = connector_status_unknown;
 #endif
 		nouveau_connector_set_encoder(connector, nv_encoder);
-		return connector_status_connected;
+		return status;
 	}
 
 	/* Cleanup the previous EDID block. */