aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rs690.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-03-16 20:54:38 -0400
committerDave Airlie <airlied@redhat.com>2010-03-30 23:02:06 -0400
commitf47299c55a837af1727bc601e1fc0fa33adaeda5 (patch)
tree3cb63394f5fc9d2adb24922f048e17d688c3c371 /drivers/gpu/drm/radeon/rs690.c
parent9e7b414edbf5e037c1462bbd8676465ed2ae0ac3 (diff)
drm/radeon/kms: display watermark fixes
- rs780/880 were using the wrong bandwidth functions - convert r1xx-r4xx to use the same pm sclk/mclk structs as r5xx+ - move bandwidth setup to a common function Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rs690.c')
-rw-r--r--drivers/gpu/drm/radeon/rs690.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/gpu/drm/radeon/rs690.c b/drivers/gpu/drm/radeon/rs690.c
index 6c92ae3c184a..e356935b0283 100644
--- a/drivers/gpu/drm/radeon/rs690.c
+++ b/drivers/gpu/drm/radeon/rs690.c
@@ -132,7 +132,6 @@ void rs690_pm_info(struct radeon_device *rdev)
132 132
133void rs690_mc_init(struct radeon_device *rdev) 133void rs690_mc_init(struct radeon_device *rdev)
134{ 134{
135 fixed20_12 a;
136 u64 base; 135 u64 base;
137 136
138 rs400_gart_adjust_size(rdev); 137 rs400_gart_adjust_size(rdev);
@@ -146,18 +145,10 @@ void rs690_mc_init(struct radeon_device *rdev)
146 base = RREG32_MC(R_000100_MCCFG_FB_LOCATION); 145 base = RREG32_MC(R_000100_MCCFG_FB_LOCATION);
147 base = G_000100_MC_FB_START(base) << 16; 146 base = G_000100_MC_FB_START(base) << 16;
148 rs690_pm_info(rdev); 147 rs690_pm_info(rdev);
149 /* FIXME: we should enforce default clock in case GPU is not in
150 * default setup
151 */
152 a.full = rfixed_const(100);
153 rdev->pm.sclk.full = rfixed_const(rdev->clock.default_sclk);
154 rdev->pm.sclk.full = rfixed_div(rdev->pm.sclk, a);
155 a.full = rfixed_const(16);
156 /* core_bandwidth = sclk(Mhz) * 16 */
157 rdev->pm.core_bandwidth.full = rfixed_div(rdev->pm.sclk, a);
158 rdev->mc.igp_sideport_enabled = radeon_atombios_sideport_present(rdev); 148 rdev->mc.igp_sideport_enabled = radeon_atombios_sideport_present(rdev);
159 radeon_vram_location(rdev, &rdev->mc, base); 149 radeon_vram_location(rdev, &rdev->mc, base);
160 radeon_gtt_location(rdev, &rdev->mc); 150 radeon_gtt_location(rdev, &rdev->mc);
151 radeon_update_bandwidth_info(rdev);
161} 152}
162 153
163void rs690_line_buffer_adjust(struct radeon_device *rdev, 154void rs690_line_buffer_adjust(struct radeon_device *rdev,