Commit 722f2943 authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie

drm/radeon/kms: fix vram setup on rs600

also fix up rs690 mem width.

should fix fdo bug 25408
Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 8de21525
...@@ -320,6 +320,12 @@ void rs600_vram_info(struct radeon_device *rdev) ...@@ -320,6 +320,12 @@ void rs600_vram_info(struct radeon_device *rdev)
/* FIXME: to do or is these values sane ? */ /* FIXME: to do or is these values sane ? */
rdev->mc.vram_is_ddr = true; rdev->mc.vram_is_ddr = true;
rdev->mc.vram_width = 128; rdev->mc.vram_width = 128;
rdev->mc.real_vram_size = RREG32(RADEON_CONFIG_MEMSIZE);
rdev->mc.mc_vram_size = rdev->mc.real_vram_size;
rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0);
rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0);
} }
void rs600_bandwidth_update(struct radeon_device *rdev) void rs600_bandwidth_update(struct radeon_device *rdev)
......
...@@ -131,19 +131,13 @@ void rs690_pm_info(struct radeon_device *rdev) ...@@ -131,19 +131,13 @@ void rs690_pm_info(struct radeon_device *rdev)
void rs690_vram_info(struct radeon_device *rdev) void rs690_vram_info(struct radeon_device *rdev)
{ {
uint32_t tmp;
fixed20_12 a; fixed20_12 a;
rs400_gart_adjust_size(rdev); rs400_gart_adjust_size(rdev);
/* DDR for all card after R300 & IGP */ /* DDR for all card after R300 & IGP */
rdev->mc.vram_is_ddr = true; rdev->mc.vram_is_ddr = true;
/* FIXME: is this correct for RS690/RS740 ? */ rdev->mc.vram_width = 128;
tmp = RREG32(RADEON_MEM_CNTL);
if (tmp & R300_MEM_NUM_CHANNELS_MASK) {
rdev->mc.vram_width = 128;
} else {
rdev->mc.vram_width = 64;
}
rdev->mc.real_vram_size = RREG32(RADEON_CONFIG_MEMSIZE); rdev->mc.real_vram_size = RREG32(RADEON_CONFIG_MEMSIZE);
rdev->mc.mc_vram_size = rdev->mc.real_vram_size; rdev->mc.mc_vram_size = rdev->mc.real_vram_size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment