summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pcidb/ati_pciids.csv2
-rw-r--r--src/radeon_chipinfo_gen.h2
-rw-r--r--src/radeon_driver.c9
3 files changed, 6 insertions, 7 deletions
diff --git a/src/pcidb/ati_pciids.csv b/src/pcidb/ati_pciids.csv
index 6ea41ecc..fc340e78 100644
--- a/src/pcidb/ati_pciids.csv
+++ b/src/pcidb/ati_pciids.csv
@@ -187,7 +187,7 @@
"0x5964","RV280_5964","RV280",,,,,,"ATI Radeon 9200SE 5964 (AGP)"
"0x5965","RV280_5965","RV280",,,,,,"ATI FireMV 2200 (PCI)"
"0x5969","RN50_5969","RV100",,,1,,,"ATI ES1000 5969 (PCI)"
-"0x5974","RS482_5974","RS400",,1,,,1,"ATI Radeon XPRESS 200 5974 (PCIE)"
+"0x5974","RS482_5974","RS400",1,1,,,1,"ATI Radeon XPRESS 200 5974 (PCIE)"
"0x5975","RS485_5975","RS400",1,1,,,1,"ATI Radeon XPRESS 200M 5975 (PCIE)"
"0x5A41","RS400_5A41","RS400",,1,,,1,"ATI Radeon XPRESS 200 5A41 (PCIE)"
"0x5A42","RS400_5A42","RS400",1,1,,,1,"ATI Radeon XPRESS 200M 5A42 (PCIE)"
diff --git a/src/radeon_chipinfo_gen.h b/src/radeon_chipinfo_gen.h
index f9f1e06b..de1d1098 100644
--- a/src/radeon_chipinfo_gen.h
+++ b/src/radeon_chipinfo_gen.h
@@ -106,7 +106,7 @@ RADEONCardInfo RADEONCards[] = {
{ 0x5964, CHIP_FAMILY_RV280, 0, 0, 0, 0, 0 },
{ 0x5965, CHIP_FAMILY_RV280, 0, 0, 0, 0, 0 },
{ 0x5969, CHIP_FAMILY_RV100, 0, 0, 1, 0, 0 },
- { 0x5974, CHIP_FAMILY_RS400, 0, 1, 0, 0, 1 },
+ { 0x5974, CHIP_FAMILY_RS400, 1, 1, 0, 0, 1 },
{ 0x5975, CHIP_FAMILY_RS400, 1, 1, 0, 0, 1 },
{ 0x5A41, CHIP_FAMILY_RS400, 0, 1, 0, 0, 1 },
{ 0x5A42, CHIP_FAMILY_RS400, 1, 1, 0, 0, 1 },
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 42324b13..bf7ef8cb 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -3745,7 +3745,7 @@ static void RADEONAdjustMemMapRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
{
RADEONInfoPtr info = RADEONPTR(pScrn);
CARD32 fb, agp, agp_hi;
- int changed;
+ int changed = 0;
if (info->IsSecondary)
return;
@@ -3753,7 +3753,7 @@ static void RADEONAdjustMemMapRegisters(ScrnInfoPtr pScrn, RADEONSavePtr save)
radeon_read_mc_fb_agp_location(pScrn, LOC_FB | LOC_AGP, &fb, &agp, &agp_hi);
if (fb != save->mc_fb_location || agp != save->mc_agp_location ||
- agp_hi || save->mc_agp_location_hi)
+ agp_hi != save->mc_agp_location_hi)
changed = 1;
if (changed) {
@@ -5208,6 +5208,7 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
pScrn->vtSema = TRUE;
+ RADEONRestoreMemMapRegisters(pScrn, info->ModeReg);
RADEONRestoreSurfaces(pScrn, info->ModeReg);
if (!xf86SetDesiredModes(pScrn))
@@ -5227,10 +5228,8 @@ Bool RADEONEnterVT(int scrnIndex, int flags)
RADEONDRIResume(pScrn->pScreen);
RADEONAdjustMemMapRegisters(pScrn, info->ModeReg);
- } else
+ }
#endif
- RADEONRestoreMemMapRegisters(pScrn, info->ModeReg);
-
/* this will get XVideo going again, but only if XVideo was initialised
during server startup (hence the info->adaptor if). */