diff options
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/radeon/r300.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index 7e9f95653cbe..b188aae764cc 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c | |||
@@ -461,7 +461,8 @@ int r300_gpu_reset(struct radeon_device *rdev) | |||
461 | */ | 461 | */ |
462 | void r300_mc_init(struct radeon_device *rdev) | 462 | void r300_mc_init(struct radeon_device *rdev) |
463 | { | 463 | { |
464 | uint32_t tmp; | 464 | u64 base; |
465 | u32 tmp; | ||
465 | 466 | ||
466 | /* DDR for all card after R300 & IGP */ | 467 | /* DDR for all card after R300 & IGP */ |
467 | rdev->mc.vram_is_ddr = true; | 468 | rdev->mc.vram_is_ddr = true; |
@@ -474,6 +475,10 @@ void r300_mc_init(struct radeon_device *rdev) | |||
474 | default: rdev->mc.vram_width = 128; break; | 475 | default: rdev->mc.vram_width = 128; break; |
475 | } | 476 | } |
476 | r100_vram_init_sizes(rdev); | 477 | r100_vram_init_sizes(rdev); |
478 | base = rdev->mc.aper_base; | ||
479 | if (rdev->flags & RADEON_IS_IGP) | ||
480 | base = (RREG32(RADEON_NB_TOM) & 0xffff) << 16; | ||
481 | radeon_vram_location(rdev, &rdev->mc, base); | ||
477 | if (!(rdev->flags & RADEON_IS_AGP)) | 482 | if (!(rdev->flags & RADEON_IS_AGP)) |
478 | radeon_gtt_location(rdev, &rdev->mc); | 483 | radeon_gtt_location(rdev, &rdev->mc); |
479 | } | 484 | } |