From b98d46694e09effdc755f502c78e2c6a2792d5a8 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 7 Dec 2009 13:29:51 +1000 Subject: [PATCH] --- yaml --- r: 174623 b: refs/heads/master c: 64bffd03756249e11b8651ccf33ac3a50a93ed4c h: refs/heads/master i: 174621: f79f3847bb17ac732c7722bb1a3e9b4695eecfd9 174619: dab4127bda0eafe6f097f2093b42c1edf4213825 174615: f197cf7a34f51fa4b15794b82ba0cc8b247fc12d 174607: 1896ca023431993bbd67125fe05e51b095ad8d82 174591: 176efaab326116c803489f233a2308741bb06e38 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/radeon/rs600.c | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 2875b39c10f0..9231dc55de9b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4f15d24adb39803ba7b9363d0bb5dd714a6706f6 +refs/heads/master: 64bffd03756249e11b8651ccf33ac3a50a93ed4c diff --git a/trunk/drivers/gpu/drm/radeon/rs600.c b/trunk/drivers/gpu/drm/radeon/rs600.c index 11a1da0fc76b..3be456b78191 100644 --- a/trunk/drivers/gpu/drm/radeon/rs600.c +++ b/trunk/drivers/gpu/drm/radeon/rs600.c @@ -45,6 +45,20 @@ void rs600_gpu_init(struct radeon_device *rdev); int rs600_mc_wait_for_idle(struct radeon_device *rdev); +int rs600_mc_init(struct radeon_device *rdev) +{ + /* read back the MC value from the hw */ + uint32_t mc_fb_loc; + int r; + + mc_fb_loc = RREG32_MC(R_000004_MC_FB_LOCATION); + rdev->mc.vram_location = G_000004_MC_FB_START(mc_fb_loc) << 16; + rdev->mc.gtt_location = 0xffffffffUL; + r = radeon_mc_setup(rdev); + if (r) + return r; + return 0; +} /* * GART. */ @@ -505,7 +519,7 @@ int rs600_init(struct radeon_device *rdev) /* Get vram informations */ rs600_vram_info(rdev); /* Initialize memory controller (also test AGP) */ - r = r420_mc_init(rdev); + r = rs600_mc_init(rdev); if (r) return r; rs600_debugfs(rdev);