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:09:34 -0500
commit0ee7763fb33bf7fbc4ae1e8372cbc74578bfb720 (patch)
treecdff7675003ed240d82087f9fe2191a22c8eac29
parentda1fcddaade58e371c7bee555ce32944c689f810 (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 7cb4c03..5fddcce 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -2000,6 +2000,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;
@@ -2013,7 +2018,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 {