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:19:38 -0400 |
commit | 57f2c83a22f27567506c555af431f89e6031204c (patch) | |
tree | 4dd928119a9a218c84098f9dace20b36e7cf5b42 | |
parent | 2afc46fa74ce7730f766a3370d323c6b59694186 (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.
-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 37913051..bf950294 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -1977,7 +1977,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"); @@ -1997,12 +1996,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"); |