diff options
author | Dave Airlie <airlied@linux.ie> | 2009-07-10 08:36:26 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-07-15 03:13:18 -0400 |
commit | ad49f501867cba87e1e45e5ebae0b12435d68bf1 (patch) | |
tree | 4602e5caf96451b1dcdda7a38628d494466d2e20 /drivers/gpu/drm/ttm/ttm_bo.c | |
parent | 61b576dbbe6a19d102c025ebc102a0749e2d3c80 (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.c | 7 |
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 | ||
1333 | int ttm_bo_device_init(struct ttm_bo_device *bdev, | 1336 | int 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)) { |