summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-11-09 15:09:34 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-11-09 15:13:23 -0500
commit6dc632e2e91b6a7159ab3a27617b031713d8b8c4 (patch)
tree65b9536b8f8de9fe0b03a7a581da9e1f7dbd3827
parenteab41805c0e6cc6deb7eca9342457b690834d7d2 (diff)
IGP: some IGP chips report as AGP
Set bus type appropriately. fixes bug 25002 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
-rw-r--r--src/radeon_driver.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index c726f8fe..17253a70 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1959,6 +1959,11 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
if (info->cardType == CARD_PCIE && info->IsIGP)
info->cardType = CARD_PCI;
+ /* some rs4xx cards report as agp */
+ if ((info->ChipFamily == CHIP_FAMILY_RS400) ||
+ (info->ChipFamily == CHIP_FAMILY_RS480))
+ info->cardType = CARD_PCI;
+
if ((info->ChipFamily >= CHIP_FAMILY_R600) && info->IsIGP)
info->cardType = CARD_PCIE;
@@ -1972,7 +1977,13 @@ static Bool RADEONPreInitChipType(ScrnInfoPtr pScrn)
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into AGP mode\n");
} else if ((strcmp(s, "PCI") == 0) ||
(strcmp(s, "PCIE") == 0)) {
- if (info->ChipFamily >= CHIP_FAMILY_RV380) {
+ if ((info->ChipFamily == CHIP_FAMILY_RS400) ||
+ (info->ChipFamily == CHIP_FAMILY_RS480) ||
+ (info->ChipFamily == CHIP_FAMILY_RS690) ||
+ (info->ChipFamily == CHIP_FAMILY_RS740)) {
+ info->cardType = CARD_PCI;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI mode\n");
+ } else if (info->ChipFamily >= CHIP_FAMILY_RV380) {
info->cardType = CARD_PCIE;
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI Express mode\n");
} else {