summaryrefslogtreecommitdiff
path: root/src/radeon_driver.c
diff options
context:
space:
mode:
authorAlex Deucher <alex@botch2.(none)>2008-02-11 16:36:58 -0500
committerAlex Deucher <alex@botch2.(none)>2008-02-11 16:36:58 -0500
commit85043439426e534e561259ce98bebdd8508b36a9 (patch)
tree4540772578754237872402a2dbf3fd6aa849be28 /src/radeon_driver.c
parent9ab5d2ec7c583c74f364d7cfbb54bcd2cd8ae2f5 (diff)
R6xx: make sure we set up the HDP base properly
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r--src/radeon_driver.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index db73ca7..50343d2 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -1314,7 +1314,11 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn)
*/
if (IS_AVIVO_VARIANT) {
- OUTREG(AVIVO_HDP_FB_LOCATION, info->mc_fb_location);
+ if (info->ChipFamily >= CHIP_FAMILY_R600) {
+ OUTREG(R600_HDP_NONSURFACE_BASE, (info->mc_fb_location << 16) & 0xff0000);
+ } else {
+ OUTREG(AVIVO_HDP_FB_LOCATION, info->mc_fb_location);
+ }
info->mc_agp_location = 0x003f0000;
} else
info->mc_agp_location = 0xffffffc0;
@@ -3596,6 +3600,8 @@ void RADEONRestoreMemMapRegisters(ScrnInfoPtr pScrn,
if (info->ChipFamily < CHIP_FAMILY_R600) {
OUTREG(AVIVO_HDP_FB_LOCATION, restore->mc_fb_location);
+ } else {
+ OUTREG(R600_HDP_NONSURFACE_BASE, (restore->mc_fb_location << 16) & 0xff0000);
}
/* Reset the engine and HDP */