[Intel-gfx] [PATCH] drm/i915: Override disabling LVDS on lid closure

Chris Wilson chris at chris-wilson.co.uk
Tue Feb 9 13:54:17 CET 2010


In order to conserve space, my test machines have their lids closed. This
has the unfortunate consequence that on some machines the LVDS is
disable, resulting in no connected scanout triggering further complaints
from programs that demand an output! Workaround these obstinate programs
by providing a command line option to ignore the lid status and thereby
force the output to be connected.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_drv.c   |    3 +++
 drivers/gpu/drm/i915/i915_drv.h   |    1 +
 drivers/gpu/drm/i915/intel_lvds.c |    4 +++-
 3 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 1150364..babd553 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -45,6 +45,9 @@ module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400);
 unsigned int i915_powersave = 1;
 module_param_named(powersave, i915_powersave, int, 0400);
 
+unsigned int i915_lvds_use_lid = 1;
+module_param_named(lvds_use_lid, i915_lvds_use_lid, int, 0400);
+
 unsigned int i915_lvds_downclock = 0;
 module_param_named(lvds_downclock, i915_lvds_downclock, int, 0400);
 
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 8f0fc9b..5d90c91 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -755,6 +755,7 @@ extern struct drm_ioctl_desc i915_ioctls[];
 extern int i915_max_ioctl;
 extern unsigned int i915_fbpercrtc;
 extern unsigned int i915_powersave;
+extern unsigned int i915_lvds_use_lid;
 extern unsigned int i915_lvds_downclock;
 
 extern void i915_save_display(struct drm_device *dev);
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index ac35659..64b603b 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -643,7 +643,9 @@ static enum drm_connector_status intel_lvds_detect(struct drm_connector *connect
 {
 	enum drm_connector_status status = connector_status_connected;
 
-	if (!dmi_check_system(bad_lid_status) && !acpi_lid_open())
+	if (i915_lvds_use_lid &&
+	    !dmi_check_system(bad_lid_status) &&
+	    !acpi_lid_open())
 		status = connector_status_disconnected;
 
 	return status;
-- 
1.6.6.1




More information about the Intel-gfx mailing list