|
@@ -1312,6 +1312,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");
|
|
|
|
|
|
dev_priv->is_pci = init->is_pci;
|
|
@@ -1521,8 +1523,11 @@ 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) * 2;
|
|
|
+
|
|
|
+ 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->is_pci)
|