diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-03-16 20:54:38 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-03-30 23:02:06 -0400 |
commit | f47299c55a837af1727bc601e1fc0fa33adaeda5 (patch) | |
tree | 3cb63394f5fc9d2adb24922f048e17d688c3c371 /drivers/gpu/drm/radeon/rs690.c | |
parent | 9e7b414edbf5e037c1462bbd8676465ed2ae0ac3 (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.c | 11 |
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 | ||
133 | void rs690_mc_init(struct radeon_device *rdev) | 133 | void 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 | ||
163 | void rs690_line_buffer_adjust(struct radeon_device *rdev, | 154 | void rs690_line_buffer_adjust(struct radeon_device *rdev, |