aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/ttm/ttm_bo.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2009-07-10 08:36:26 -0400
committerDave Airlie <airlied@redhat.com>2009-07-15 03:13:18 -0400
commitad49f501867cba87e1e45e5ebae0b12435d68bf1 (patch)
tree4602e5caf96451b1dcdda7a38628d494466d2e20 /drivers/gpu/drm/ttm/ttm_bo.c
parent61b576dbbe6a19d102c025ebc102a0749e2d3c80 (diff)
drm/ttm/radeon: add dma32 support.
This add support for using dma32 memory on gpus that really need it. Currently IGPs are left without DMA32 but we might need to change that unless we can fix rs690. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/ttm/ttm_bo.c')
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index a753598a5e35..e55e7972c897 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -224,6 +224,9 @@ static int ttm_bo_add_ttm(struct ttm_buffer_object *bo, bool zero_alloc)
224 TTM_ASSERT_LOCKED(&bo->mutex); 224 TTM_ASSERT_LOCKED(&bo->mutex);
225 bo->ttm = NULL; 225 bo->ttm = NULL;
226 226
227 if (bdev->need_dma32)
228 page_flags |= TTM_PAGE_FLAG_DMA32;
229
227 switch (bo->type) { 230 switch (bo->type) {
228 case ttm_bo_type_device: 231 case ttm_bo_type_device:
229 if (zero_alloc) 232 if (zero_alloc)
@@ -1332,7 +1335,8 @@ EXPORT_SYMBOL(ttm_bo_device_release);
1332 1335
1333int ttm_bo_device_init(struct ttm_bo_device *bdev, 1336int ttm_bo_device_init(struct ttm_bo_device *bdev,
1334 struct ttm_mem_global *mem_glob, 1337 struct ttm_mem_global *mem_glob,
1335 struct ttm_bo_driver *driver, uint64_t file_page_offset) 1338 struct ttm_bo_driver *driver, uint64_t file_page_offset,
1339 bool need_dma32)
1336{ 1340{
1337 int ret = -EINVAL; 1341 int ret = -EINVAL;
1338 1342
@@ -1369,6 +1373,7 @@ int ttm_bo_device_init(struct ttm_bo_device *bdev,
1369 INIT_LIST_HEAD(&bdev->ddestroy); 1373 INIT_LIST_HEAD(&bdev->ddestroy);
1370 INIT_LIST_HEAD(&bdev->swap_lru); 1374 INIT_LIST_HEAD(&bdev->swap_lru);
1371 bdev->dev_mapping = NULL; 1375 bdev->dev_mapping = NULL;
1376 bdev->need_dma32 = need_dma32;
1372 ttm_mem_init_shrink(&bdev->shrink, ttm_bo_swapout); 1377 ttm_mem_init_shrink(&bdev->shrink, ttm_bo_swapout);
1373 ret = ttm_mem_register_shrink(mem_glob, &bdev->shrink); 1378 ret = ttm_mem_register_shrink(mem_glob, &bdev->shrink);
1374 if (unlikely(ret != 0)) { 1379 if (unlikely(ret != 0)) {