aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rs400.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/radeon/rs400.c')
-rw-r--r--drivers/gpu/drm/radeon/rs400.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/gpu/drm/radeon/rs400.c b/drivers/gpu/drm/radeon/rs400.c
index a18d053065c0..daf24e85cba3 100644
--- a/drivers/gpu/drm/radeon/rs400.c
+++ b/drivers/gpu/drm/radeon/rs400.c
@@ -292,24 +292,12 @@ void rs400_gpu_init(struct radeon_device *rdev)
292 */ 292 */
293void rs400_vram_info(struct radeon_device *rdev) 293void rs400_vram_info(struct radeon_device *rdev)
294{ 294{
295 uint32_t tom;
296
297 rs400_gart_adjust_size(rdev); 295 rs400_gart_adjust_size(rdev);
298 /* DDR for all card after R300 & IGP */ 296 /* DDR for all card after R300 & IGP */
299 rdev->mc.vram_is_ddr = true; 297 rdev->mc.vram_is_ddr = true;
300 rdev->mc.vram_width = 128; 298 rdev->mc.vram_width = 128;
301 299
302 /* read NB_TOM to get the amount of ram stolen for the GPU */ 300 r100_vram_init_sizes(rdev);
303 tom = RREG32(RADEON_NB_TOM);
304 rdev->mc.vram_size = (((tom >> 16) - (tom & 0xffff) + 1) << 16);
305 WREG32(RADEON_CONFIG_MEMSIZE, rdev->mc.vram_size);
306
307 /* RS480 IGPs don't seem to translate to main RAM, they
308 * just reserve and scan out of it. So setting VRAM location
309 * to say 0, will actually trash the OS. */
310 rdev->mc.vram_location = (tom & 0xffff) << 16;
311 rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0);
312 rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0);
313} 301}
314 302
315 303