From 274fdf482ba5b33167213f76e6c17943ddf51985 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 16 Dec 2005 08:02:17 +0000 Subject: fix radeon memory mapping from Ben Herrenschmidt --- shared-core/radeon_cp.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'shared-core/radeon_cp.c') diff --git a/shared-core/radeon_cp.c b/shared-core/radeon_cp.c index 06868848..503fe8ef 100644 --- a/shared-core/radeon_cp.c +++ b/shared-core/radeon_cp.c @@ -1306,6 +1306,8 @@ static void radeon_set_pcigart(drm_radeon_private_t * dev_priv, int on) static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) { drm_radeon_private_t *dev_priv = dev->dev_private; + unsigned int mem_size; + DRM_DEBUG("\n"); if (init->is_pci && (dev_priv->flags & CHIP_IS_AGP)) @@ -1502,8 +1504,12 @@ static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) + dev_priv->fb_location) >> 10)); dev_priv->gart_size = init->gart_size; - dev_priv->gart_vm_start = dev_priv->fb_location - + RADEON_READ(RADEON_CONFIG_APER_SIZE); + + mem_size = RADEON_READ(RADEON_CONFIG_MEMSIZE); + if (mem_size == 0) + mem_size = 0x800000; + + dev_priv->gart_vm_start = dev_priv->fb_location + mem_size; #if __OS_HAS_AGP if (dev_priv->flags & CHIP_IS_AGP) -- cgit v1.2.3