summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-07-02 21:21:20 +0200
committerChristian König <christian.koenig@amd.com>2014-07-02 21:28:37 +0200
commit0b81f579c92bb580e6859418ccf35299628904d8 (patch)
tree1fd88f6af36f01eed16abb756d3fdf98ecdd2362
parent9b3ff7b7fa54fe35c1ed4f2c817df68ec4d5f0cf (diff)
drm/radeon: place page tables at the end of VRAMtesting-3.15-v3
Signed-off-by: Christian König <christian.koenig@amd.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_vm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c
index c8c48aa4181e..3c8048c6e79c 100644
--- a/drivers/gpu/drm/radeon/radeon_vm.c
+++ b/drivers/gpu/drm/radeon/radeon_vm.c
@@ -368,6 +368,9 @@ static int radeon_vm_clear_bo(struct radeon_device *rdev,
if (r)
return r;
+ radeon_ttm_placement_from_domain(bo, RADEON_GEM_DOMAIN_VRAM);
+ bo->placements[0] |= TTM_PL_FLAG_TOPDOWN;
+
r = ttm_bo_validate(&bo->tbo, &bo->placement, true, false);
if (r)
goto error;
@@ -494,7 +497,7 @@ int radeon_vm_bo_set_addr(struct radeon_device *rdev,
r = radeon_bo_create(rdev, RADEON_VM_PTE_COUNT * 8,
RADEON_GPU_PAGE_SIZE, true,
- RADEON_GEM_DOMAIN_VRAM, NULL, &pt);
+ RADEON_GEM_DOMAIN_CPU, NULL, &pt);
if (r)
return r;
@@ -914,7 +917,7 @@ int radeon_vm_init(struct radeon_device *rdev, struct radeon_vm *vm)
}
r = radeon_bo_create(rdev, pd_size, RADEON_VM_PTB_ALIGN_SIZE, true,
- RADEON_GEM_DOMAIN_VRAM, NULL,
+ RADEON_GEM_DOMAIN_CPU, NULL,
&vm->page_directory);
if (r)
return r;