xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Sun Dec 23 14:18:49 PST 2007


 man/radeon.man      |    6 ++++++
 src/radeon.h        |    3 ++-
 src/radeon_driver.c |    1 +
 src/radeon_output.c |    8 ++++++--
 4 files changed, 15 insertions(+), 3 deletions(-)

New commits:
commit ad3325f672a241449ca239c8ee3a24b6d7703d76
Author: Alex Deucher <alex at botch2.(none)>
Date:   Sun Dec 23 17:18:42 2007 -0500

    RADEON: Add "IgnoreLidStatus" option
    
    Generally, users that start X with the laptop lid closed
    want to use one or more external monitors rather than the
    internal panel and do not want the internal panel to be on
    by default.  Others, it seems, want to always have the
    internal panel on, regardless of the lid.  I can't win.
    Enable this option to force the latter.

diff --git a/man/radeon.man b/man/radeon.man
index 3c4df23..49755f4 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -467,6 +467,12 @@ Enable this option to force TV Out to always be detected as attached.
 The default is
 .B off 
 .TP
+.BI "Option \*qIgnoreLidStatus\*q \*q" boolean \*q
+Enable this option to ignore lid status on laptops and always detect
+LVDS as attached.
+The default is
+.B off 
+.TP
 
 .SH SEE ALSO
 __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
diff --git a/src/radeon.h b/src/radeon.h
index 4a10860..d16a234 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -166,7 +166,8 @@ typedef enum {
     OPTION_DEFAULT_TMDS_PLL,
     OPTION_TVDAC_LOAD_DETECT,
     OPTION_FORCE_TVOUT,
-    OPTION_TVSTD
+    OPTION_TVSTD,
+    OPTION_IGNORE_LID_STATUS
 } RADEONOpts;
 
 
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 4e4f23e..6885cdc 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -219,6 +219,7 @@ static const OptionInfoRec RADEONOptions[] = {
     { OPTION_TVDAC_LOAD_DETECT, "TVDACLoadDetect", OPTV_BOOLEAN, {0}, FALSE },
     { OPTION_FORCE_TVOUT,    "ForceTVOut",         OPTV_BOOLEAN, {0}, FALSE },
     { OPTION_TVSTD,          "TVStandard",         OPTV_STRING,  {0}, FALSE },
+    { OPTION_IGNORE_LID_STATUS, "IgnoreLidStatus", OPTV_BOOLEAN, {0}, FALSE },
     { -1,                    NULL,               OPTV_NONE,    {0}, FALSE }
 };
 
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 10369d9..814c766 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -437,14 +437,18 @@ RADEONDetectLidStatus(ScrnInfoPtr pScrn)
 
 static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, xf86OutputPtr output)
 {
+    RADEONInfoPtr info = RADEONPTR(output->scrn);
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
     RADEONMonitorType MonType = MT_NONE;
 
     if (radeon_output->type == OUTPUT_LVDS) {
+	if (xf86ReturnOptValBool(info->Options, OPTION_IGNORE_LID_STATUS, FALSE))
+	    MonType = MT_LCD;
+	else
 #if defined(__powerpc__)
-	MonType = MT_LCD;
+	    MonType = MT_LCD;
 #else
-	MonType = RADEONDetectLidStatus(pScrn);
+	    MonType = RADEONDetectLidStatus(pScrn);
 #endif
     } /*else if (radeon_output->type == OUTPUT_DVI) {
 	if (radeon_output->TMDSType == TMDS_INT) {


More information about the xorg-commit mailing list