diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-07-25 14:19:38 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-07-25 14:22:49 -0400 |
commit | b1f005bf16064db62ae35d362f69250427a45b3b (patch) | |
tree | ec5a009c1f908582c502dc623807d048c62df367 /src/radeon_driver.c | |
parent | a591ba2a45004bce9d1c51fd813edf05d249e50a (diff) |
radeon: Set PCI/PCIE bus type properly per asic
- r1xx-rv350 chips have the old pci gart
- rv380+ chips have newer pcie gart
Select the right kind regardless of whether the user selects
PCI or PCIE.
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r-- | src/radeon_driver.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c index 83a3374a..4efd2724 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -1932,7 +1932,6 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn) } } - xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s card detected\n", (info->cardType==CARD_PCI) ? "PCI" : (info->cardType==CARD_PCIE) ? "PCIE" : "AGP"); @@ -1952,12 +1951,15 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn) if (strcmp(s, "AGP") == 0) { info->cardType = CARD_AGP; xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into AGP mode\n"); - } else if (strcmp(s, "PCI") == 0) { - info->cardType = CARD_PCI; - xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI mode\n"); - } else if (strcmp(s, "PCIE") == 0) { - info->cardType = CARD_PCIE; - xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI Express mode\n"); + } else if ((strcmp(s, "PCI") == 0) || + (strcmp(s, "PCIE") == 0)) { + if (info->ChipFamily >= CHIP_FAMILY_RV380) { + info->cardType = CARD_PCIE; + xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI Express mode\n"); + } else { + info->cardType = CARD_PCI; + xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI mode\n"); + } } else { xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Invalid BusType option, using detected type\n"); |