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/r100.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/r100.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index 9d634c8a322a..e35cf1932829 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c | |||
@@ -2025,6 +2025,7 @@ void r100_mc_init(struct radeon_device *rdev) | |||
2025 | radeon_vram_location(rdev, &rdev->mc, base); | 2025 | radeon_vram_location(rdev, &rdev->mc, base); |
2026 | if (!(rdev->flags & RADEON_IS_AGP)) | 2026 | if (!(rdev->flags & RADEON_IS_AGP)) |
2027 | radeon_gtt_location(rdev, &rdev->mc); | 2027 | radeon_gtt_location(rdev, &rdev->mc); |
2028 | radeon_update_bandwidth_info(rdev); | ||
2028 | } | 2029 | } |
2029 | 2030 | ||
2030 | 2031 | ||
@@ -2416,11 +2417,8 @@ void r100_bandwidth_update(struct radeon_device *rdev) | |||
2416 | /* | 2417 | /* |
2417 | * determine is there is enough bw for current mode | 2418 | * determine is there is enough bw for current mode |
2418 | */ | 2419 | */ |
2419 | mclk_ff.full = rfixed_const(rdev->clock.default_mclk); | 2420 | sclk_ff = rdev->pm.sclk; |
2420 | temp_ff.full = rfixed_const(100); | 2421 | mclk_ff = rdev->pm.mclk; |
2421 | mclk_ff.full = rfixed_div(mclk_ff, temp_ff); | ||
2422 | sclk_ff.full = rfixed_const(rdev->clock.default_sclk); | ||
2423 | sclk_ff.full = rfixed_div(sclk_ff, temp_ff); | ||
2424 | 2422 | ||
2425 | temp = (rdev->mc.vram_width / 8) * (rdev->mc.vram_is_ddr ? 2 : 1); | 2423 | temp = (rdev->mc.vram_width / 8) * (rdev->mc.vram_is_ddr ? 2 : 1); |
2426 | temp_ff.full = rfixed_const(temp); | 2424 | temp_ff.full = rfixed_const(temp); |