summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-07-08 18:34:57 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-07-08 18:34:57 -0400
commit8c03c1fdb5ea35570064946557050c87ca30582a (patch)
treef515e9940aec52da09ac423dade3f71ef87e10e2
parent9645838c57f6b40837fdce23ce7f9faefb3d9966 (diff)
R6xx/R7xx: fix hangs on x2 cards with PM options
Changing the PCIE lanes on x2 cards results in a hang, so for now, disable it. Fixes fdo bug 22669
-rw-r--r--src/radeon_pm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/radeon_pm.c b/src/radeon_pm.c
index 131a9fd4..fe8f2143 100644
--- a/src/radeon_pm.c
+++ b/src/radeon_pm.c
@@ -38,6 +38,8 @@
#include "radeon_macros.h"
#include "radeon_atombios.h"
+#include "ati_pciids_gen.h"
+
/* 10 khz */
static uint32_t calc_eng_mem_clock(ScrnInfoPtr pScrn,
uint32_t req_clock,
@@ -629,6 +631,15 @@ RADEONSetPCIELanes(ScrnInfoPtr pScrn, int lanes)
if (info->IsIGP)
return;
+ /* don't change lanes on multi-gpu cards for now */
+ if ((info->Chipset == PCI_CHIP_RV770_9441) ||
+ (info->Chipset == PCI_CHIP_RV770_9443) ||
+ (info->Chipset == PCI_CHIP_RV770_944B) ||
+ (info->Chipset == PCI_CHIP_RV670_9506) ||
+ (info->Chipset == PCI_CHIP_RV670_9509) ||
+ (info->Chipset == PCI_CHIP_RV670_950F))
+ return;
+
RADEONWaitForIdleMMIO(pScrn);
switch (lanes) {