diff options
author | Jerome Glisse <jglisse@redhat.com> | 2010-02-19 09:33:54 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-24 20:32:36 -0500 |
commit | 51e5fcd353a55364984bda3dd1391742e4dec53c (patch) | |
tree | ae93752cb78ef228eb48ec961d9e9702796751b7 /drivers/gpu/drm/radeon/rs600.c | |
parent | 22e6dd7e700111c1aa49581d27f2b349cbc798dd (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.c | 5 |
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; |