summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-07-25 14:19:38 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-07-25 14:19:38 -0400
commit57f2c83a22f27567506c555af431f89e6031204c (patch)
tree4dd928119a9a218c84098f9dace20b36e7cf5b42
parent2afc46fa74ce7730f766a3370d323c6b59694186 (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.c16
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");