summaryrefslogtreecommitdiff
path: root/src/radeon_driver.c
diff options
context:
space:
mode:
authorAlex Deucher <alex@botch2.(none)>2007-08-29 23:11:30 -0400
committerAlex Deucher <alex@botch2.(none)>2007-08-29 23:11:30 -0400
commit12187a6aa93049c002a4171344d03c713f7f3c5d (patch)
tree993e3612138ead95de035a67e608a4f3e469c90c /src/radeon_driver.c
parent61c1fdaa8553581944f78a11e6f9aa76163a468a (diff)
RADEON: Add quirk and connector tables for apple laptops
As far as I can tell there are three apple laptop variants: ibook - LVDS, TVDAC drives TV or VGA via dongle powerbook-duallink - LVDS, TV, External TMDS/Primary DAC powerbook - LVDS, TV, Internal TMDS/Primary DAC use Option "MacModel" "<string>" to enable the appropriate quirks where string is one of the above We can't yet init the external TMDS directly, but if OF inits it, it should work. This should also fix bug 9955. Please test!
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r--src/radeon_driver.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index fc0f40b..5c2efd3 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -188,6 +188,9 @@ static const OptionInfoRec RADEONOptions[] = {
{ OPTION_CONNECTORTABLE, "ConnectorTable", OPTV_STRING, {0}, FALSE },
{ OPTION_DEFAULT_CONNECTOR_TABLE, "DefaultConnectorTable", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_DEFAULT_TMDS_PLL, "DefaultTMDSPLL", OPTV_BOOLEAN, {0}, FALSE },
+#if defined(__powerpc__)
+ { OPTION_CONNECTORTABLE, "MacModel", OPTV_STRING, {0}, FALSE },
+#endif
{ -1, NULL, OPTV_NONE, {0}, FALSE }
};
@@ -4567,6 +4570,12 @@ void RADEONRestorePLLRegisters(ScrnInfoPtr pScrn,
unsigned char *RADEONMMIO = info->MMIO;
CARD8 pllGain;
+#if defined(__powerpc__)
+ /* apparently restoring the pll causes a hang??? */
+ if (info->MacModel == RADEON_MAC_IBOOK)
+ return;
+#endif
+
pllGain = RADEONComputePLLGain(info->pll.reference_freq,
restore->ppll_ref_div & RADEON_PPLL_REF_DIV_MASK,
restore->ppll_div_3 & RADEON_PPLL_FB3_DIV_MASK);