diff options
author | Alex Deucher <alex@botch2.(none)> | 2007-12-23 17:18:42 -0500 |
---|---|---|
committer | Alex Deucher <alex@botch2.(none)> | 2007-12-23 17:18:42 -0500 |
commit | ad3325f672a241449ca239c8ee3a24b6d7703d76 (patch) | |
tree | 2245584d391d3ddcb5f5c87cd8265d97324be48e | |
parent | 20eedf348a527e1e0a5450bc22d7564895034a66 (diff) |
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.
-rw-r--r-- | man/radeon.man | 6 | ||||
-rw-r--r-- | src/radeon.h | 3 | ||||
-rw-r--r-- | src/radeon_driver.c | 1 | ||||
-rw-r--r-- | src/radeon_output.c | 8 |
4 files changed, 15 insertions, 3 deletions
diff --git a/man/radeon.man b/man/radeon.man index 3c4df233..49755f42 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 4a10860c..d16a234f 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 4e4f23e8..6885cdce 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 10369d9e..814c766f 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) { |