aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rs600.c
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2010-02-19 09:33:54 -0500
committerDave Airlie <airlied@redhat.com>2010-02-24 20:32:36 -0500
commit51e5fcd353a55364984bda3dd1391742e4dec53c (patch)
treeae93752cb78ef228eb48ec961d9e9702796751b7 /drivers/gpu/drm/radeon/rs600.c
parent22e6dd7e700111c1aa49581d27f2b349cbc798dd (diff)
drm/radeon/kms: force pinning buffer into visible VRAM
This patch properly set visible VRAM and enforce any pinned buffer to be into visible VRAM. We might later add a flag to release this constraint for some newer hw more clever than previous. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rs600.c')
-rw-r--r--drivers/gpu/drm/radeon/rs600.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c
index d5aeb2a31d59..47f046b78c6b 100644
--- a/drivers/gpu/drm/radeon/rs600.c
+++ b/drivers/gpu/drm/radeon/rs600.c
@@ -462,12 +462,13 @@ void rs600_mc_init(struct radeon_device *rdev)
462{ 462{
463 u64 base; 463 u64 base;
464 464
465 rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0);
466 rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0);
465 rdev->mc.vram_is_ddr = true; 467 rdev->mc.vram_is_ddr = true;
466 rdev->mc.vram_width = 128; 468 rdev->mc.vram_width = 128;
467 rdev->mc.real_vram_size = RREG32(RADEON_CONFIG_MEMSIZE); 469 rdev->mc.real_vram_size = RREG32(RADEON_CONFIG_MEMSIZE);
468 rdev->mc.mc_vram_size = rdev->mc.real_vram_size; 470 rdev->mc.mc_vram_size = rdev->mc.real_vram_size;
469 rdev->mc.aper_base = drm_get_resource_start(rdev->ddev, 0); 471 rdev->mc.visible_vram_size = rdev->mc.aper_size;
470 rdev->mc.aper_size = drm_get_resource_len(rdev->ddev, 0);
471 rdev->mc.igp_sideport_enabled = radeon_atombios_sideport_present(rdev); 472 rdev->mc.igp_sideport_enabled = radeon_atombios_sideport_present(rdev);
472 base = RREG32_MC(R_000004_MC_FB_LOCATION); 473 base = RREG32_MC(R_000004_MC_FB_LOCATION);
473 base = G_000004_MC_FB_START(base) << 16; 474 base = G_000004_MC_FB_START(base) << 16;