summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alex@botch2.com>2008-05-30 10:10:56 -0400
committerAlex Deucher <alex@botch2.com>2008-05-30 10:10:56 -0400
commit7cb695a329a9b543ad61af08c2d7d6eaf56de35e (patch)
tree1debf3c79547fdbb9ce9e0e7b16c48fa75f56cc5
parent714b2c63ec1c4a1410a6d521c03e9d1f90937c01 (diff)
RADEON: add Int10 option
On some radeons you can't read the bios without initializing int10. On ATOM-based secondary cards, intitializing int10 tends to hang the card.
-rw-r--r--man/radeon.man6
-rw-r--r--src/radeon.h3
-rw-r--r--src/radeon_driver.c8
3 files changed, 13 insertions, 4 deletions
diff --git a/man/radeon.man b/man/radeon.man
index ac6ea409..1d143587 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -505,6 +505,12 @@ LVDS as attached.
The default is
.B on.
.TP
+.BI "Option \*qInt10\*q \*q" boolean \*q
+This option allows you to disable int10 initialization. Set this to
+False if you are experiencing a hang when initializing a secondary card.
+The default is
+.B on.
+.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 9363c297..a5c0cd63 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -173,7 +173,8 @@ typedef enum {
OPTION_FORCE_TVOUT,
OPTION_TVSTD,
OPTION_IGNORE_LID_STATUS,
- OPTION_DEFAULT_TVDAC_ADJ
+ OPTION_DEFAULT_TVDAC_ADJ,
+ OPTION_INT10
} RADEONOpts;
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 5ea7a499..e8320e78 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -191,6 +191,7 @@ static const OptionInfoRec RADEONOptions[] = {
{ OPTION_TVSTD, "TVStandard", OPTV_STRING, {0}, FALSE },
{ OPTION_IGNORE_LID_STATUS, "IgnoreLidStatus", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_DEFAULT_TVDAC_ADJ, "DefaultTVDACAdj", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_INT10, "Int10", OPTV_BOOLEAN, {0}, FALSE },
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -1988,10 +1989,11 @@ static Bool RADEONPreInitInt10(ScrnInfoPtr pScrn, xf86Int10InfoPtr *ppInt10)
/* don't need int10 on atom cards.
* in theory all radeons, but the older stuff
* isn't 100% yet
+ * secondary atom cards tend to hang when initializing int10,
+ * however, on some stom cards, you can't read the bios without
+ * intitializing int10.
*/
- if ((info->ChipFamily == CHIP_FAMILY_R420) ||
- (info->ChipFamily == CHIP_FAMILY_RV410) ||
- (info->ChipFamily >= CHIP_FAMILY_RV515))
+ if (!xf86ReturnOptValBool(info->Options, OPTION_INT10, TRUE))
return TRUE;
if (xf86LoadSubModule(pScrn, "int10")) {