aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/radeon/rs600.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c
index 11a1da0fc76..3be456b7819 100644
--- a/drivers/gpu/drm/radeon/rs600.c
+++ b/drivers/gpu/drm/radeon/rs600.c
@@ -45,6 +45,20 @@
45void rs600_gpu_init(struct radeon_device *rdev); 45void rs600_gpu_init(struct radeon_device *rdev);
46int rs600_mc_wait_for_idle(struct radeon_device *rdev); 46int rs600_mc_wait_for_idle(struct radeon_device *rdev);
47 47
48int rs600_mc_init(struct radeon_device *rdev)
49{
50 /* read back the MC value from the hw */
51 uint32_t mc_fb_loc;
52 int r;
53
54 mc_fb_loc = RREG32_MC(R_000004_MC_FB_LOCATION);
55 rdev->mc.vram_location = G_000004_MC_FB_START(mc_fb_loc) << 16;
56 rdev->mc.gtt_location = 0xffffffffUL;
57 r = radeon_mc_setup(rdev);
58 if (r)
59 return r;
60 return 0;
61}
48/* 62/*
49 * GART. 63 * GART.
50 */ 64 */
@@ -505,7 +519,7 @@ int rs600_init(struct radeon_device *rdev)
505 /* Get vram informations */ 519 /* Get vram informations */
506 rs600_vram_info(rdev); 520 rs600_vram_info(rdev);
507 /* Initialize memory controller (also test AGP) */ 521 /* Initialize memory controller (also test AGP) */
508 r = r420_mc_init(rdev); 522 r = rs600_mc_init(rdev);
509 if (r) 523 if (r)
510 return r; 524 return r;
511 rs600_debugfs(rdev); 525 rs600_debugfs(rdev);