diff options
Diffstat (limited to 'drivers/char/drm/radeon_cp.c')
-rw-r--r-- | drivers/char/drm/radeon_cp.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c index 03839ea31092..501e557cbc86 100644 --- a/drivers/char/drm/radeon_cp.c +++ b/drivers/char/drm/radeon_cp.c | |||
@@ -1311,7 +1311,9 @@ static void radeon_set_pcigart(drm_radeon_private_t * dev_priv, int on) | |||
1311 | 1311 | ||
1312 | static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) | 1312 | static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init) |
1313 | { | 1313 | { |
1314 | drm_radeon_private_t *dev_priv = dev->dev_private;; | 1314 | drm_radeon_private_t *dev_priv = dev->dev_private; |
1315 | unsigned int mem_size; | ||
1316 | |||
1315 | DRM_DEBUG("\n"); | 1317 | DRM_DEBUG("\n"); |
1316 | 1318 | ||
1317 | dev_priv->is_pci = init->is_pci; | 1319 | 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) | |||
1521 | + dev_priv->fb_location) >> 10)); | 1523 | + dev_priv->fb_location) >> 10)); |
1522 | 1524 | ||
1523 | dev_priv->gart_size = init->gart_size; | 1525 | dev_priv->gart_size = init->gart_size; |
1524 | dev_priv->gart_vm_start = dev_priv->fb_location | 1526 | |
1525 | + RADEON_READ(RADEON_CONFIG_APER_SIZE); | 1527 | mem_size = RADEON_READ(RADEON_CONFIG_MEMSIZE); |
1528 | if (mem_size == 0) | ||
1529 | mem_size = 0x800000; | ||
1530 | dev_priv->gart_vm_start = dev_priv->fb_location + mem_size; | ||
1526 | 1531 | ||
1527 | #if __OS_HAS_AGP | 1532 | #if __OS_HAS_AGP |
1528 | if (!dev_priv->is_pci) | 1533 | if (!dev_priv->is_pci) |