summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/radeon.man6
-rw-r--r--src/radeon.h3
-rw-r--r--src/radeon_driver.c1
-rw-r--r--src/radeon_output.c8
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) {