xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Mon Feb 11 13:38:55 PST 2008


 src/radeon_driver.c |    8 +++++++-
 src/radeon_reg.h    |    2 ++
 2 files changed, 9 insertions(+), 1 deletion(-)

New commits:
commit 85043439426e534e561259ce98bebdd8508b36a9
Author: Alex Deucher <alex at botch2.(none)>
Date:   Mon Feb 11 16:36:58 2008 -0500

    R6xx: make sure we set up the HDP base properly

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 */
diff --git a/src/radeon_reg.h b/src/radeon_reg.h
index ec2a5ac..b68e25c 100644
--- a/src/radeon_reg.h
+++ b/src/radeon_reg.h
@@ -3801,6 +3801,8 @@
 #define R600_MC_VM_SYSTEM_APERTURE_HIGH_ADDR                       0x2194
 #define R600_MC_VM_SYSTEM_APERTURE_DEFAULT_ADDR                    0x2198
 
+#define R600_HDP_NONSURFACE_BASE                                0x2c04
+
 #define R600_BUS_CNTL                                           0x5420
 #define R600_CONFIG_CNTL                                        0x5424
 #define R600_CONFIG_MEMSIZE                                     0x5428


More information about the xorg-commit mailing list