/drivers/gpu/drm/ttm/ |
H A D | ttm_tt.c | 43 #include <drm/ttm/ttm_module.h> 44 #include <drm/ttm/ttm_bo_driver.h> 45 #include <drm/ttm/ttm_placement.h> 46 #include <drm/ttm/ttm_page_alloc.h> 49 * Allocates storage for pointers to the pages that back the ttm. 51 static void ttm_tt_alloc_page_directory(struct ttm_tt *ttm) argument 53 ttm->pages = drm_calloc_large(ttm->num_pages, sizeof(void*)); 56 static void ttm_dma_tt_alloc_page_directory(struct ttm_dma_tt *ttm) argument 58 ttm 106 ttm_tt_set_caching(struct ttm_tt *ttm, enum ttm_caching_state c_state) argument 152 ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t placement) argument 167 ttm_tt_destroy(struct ttm_tt *ttm) argument 187 ttm_tt_init(struct ttm_tt *ttm, struct ttm_bo_device *bdev, unsigned long size, uint32_t page_flags, struct page *dummy_read_page) argument 210 ttm_tt_fini(struct ttm_tt *ttm) argument 221 struct ttm_tt *ttm = &ttm_dma->ttm; local 245 struct ttm_tt *ttm = &ttm_dma->ttm; local 254 ttm_tt_unbind(struct ttm_tt *ttm) argument 265 ttm_tt_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem) argument 289 ttm_tt_swapin(struct ttm_tt *ttm) argument 327 ttm_tt_swapout(struct ttm_tt *ttm, struct file *persistent_swap_storage) argument 381 ttm_tt_clear_mapping(struct ttm_tt *ttm) argument 395 ttm_tt_unpopulate(struct ttm_tt *ttm) argument [all...] |
H A D | ttm_agp_backend.c | 34 #include <drm/ttm/ttm_module.h> 35 #include <drm/ttm/ttm_bo_driver.h> 36 #include <drm/ttm/ttm_page_alloc.h> 38 #include <drm/ttm/ttm_placement.h> 46 struct ttm_tt ttm; member in struct:ttm_agp_backend 51 static int ttm_agp_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem) argument 53 struct ttm_agp_backend *agp_be = container_of(ttm, struct ttm_agp_backend, ttm); 59 mem = agp_allocate_memory(agp_be->bridge, ttm->num_pages, AGP_USER_MEMORY); 64 for (i = 0; i < ttm 84 ttm_agp_unbind(struct ttm_tt *ttm) argument 97 ttm_agp_destroy(struct ttm_tt *ttm) argument 137 ttm_agp_tt_populate(struct ttm_tt *ttm) argument 146 ttm_agp_tt_unpopulate(struct ttm_tt *ttm) argument [all...] |
H A D | Makefile | 5 ttm-y := ttm_agp_backend.o ttm_memory.o ttm_tt.o ttm_bo.o \ 10 obj-$(CONFIG_DRM_TTM) += ttm.o
|
H A D | ttm_bo_util.c | 31 #include <drm/ttm/ttm_bo_driver.h> 32 #include <drm/ttm/ttm_placement.h> 51 struct ttm_tt *ttm = bo->ttm; local 56 ttm_tt_unbind(ttm); 63 ret = ttm_tt_set_placement_caching(ttm, new_mem->placement); 68 ret = ttm_tt_bind(ttm, new_mem); 250 static int ttm_copy_io_ttm_page(struct ttm_tt *ttm, void *src, argument 254 struct page *d = ttm->pages[page]; 287 static int ttm_copy_ttm_io_page(struct ttm_tt *ttm, voi argument 329 struct ttm_tt *ttm = bo->ttm; local 534 struct ttm_tt *ttm = bo->ttm; local [all...] |
H A D | ttm_bo_vm.c | 33 #include <ttm/ttm_module.h> 34 #include <ttm/ttm_bo_driver.h> 35 #include <ttm/ttm_placement.h> 94 struct ttm_tt *ttm = NULL; local 136 if (bo->ttm && (bo->ttm->page_flags & TTM_PAGE_FLAG_SG)) { 199 ttm = bo->ttm; 204 if (ttm->bdev->driver->ttm_tt_populate(ttm)) { [all...] |
H A D | ttm_page_alloc.c | 48 #include <drm/ttm/ttm_bo_driver.h> 49 #include <drm/ttm/ttm_page_alloc.h> 255 * Select the right pool or requested caching state and ttm flags. */ 860 int ttm_pool_populate(struct ttm_tt *ttm) argument 862 struct ttm_mem_global *mem_glob = ttm->glob->mem_glob; 866 if (ttm->state != tt_unpopulated) 869 for (i = 0; i < ttm->num_pages; ++i) { 870 ret = ttm_get_pages(&ttm->pages[i], 1, 871 ttm->page_flags, 872 ttm 899 ttm_pool_unpopulate(struct ttm_tt *ttm) argument [all...] |
H A D | ttm_page_alloc_dma.c | 51 #include <drm/ttm/ttm_bo_driver.h> 52 #include <drm/ttm/ttm_page_alloc.h> 842 struct ttm_tt *ttm = &ttm_dma->ttm; local 850 ttm->pages[index] = d_page->p; 868 struct ttm_tt *ttm = &ttm_dma->ttm; local 869 struct ttm_mem_global *mem_glob = ttm->glob->mem_glob; 876 if (ttm->state != tt_unpopulated) 879 type = ttm_to_type(ttm 927 struct ttm_tt *ttm = &ttm_dma->ttm; local [all...] |
H A D | ttm_bo_manager.c | 31 #include <drm/ttm/ttm_module.h> 32 #include <drm/ttm/ttm_bo_driver.h> 33 #include <drm/ttm/ttm_placement.h>
|
H A D | ttm_execbuf_util.c | 28 #include <drm/ttm/ttm_execbuf_util.h> 29 #include <drm/ttm/ttm_bo_driver.h> 30 #include <drm/ttm/ttm_placement.h>
|
/drivers/gpu/drm/nouveau/ |
H A D | nouveau_sgdma.c | 11 struct ttm_dma_tt ttm; member in struct:nouveau_sgdma_be 17 nouveau_sgdma_destroy(struct ttm_tt *ttm) argument 19 struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)ttm; 21 if (ttm) { 22 ttm_dma_tt_fini(&nvbe->ttm); 28 nv04_sgdma_bind(struct ttm_tt *ttm, struct ttm_mem_reg *mem) argument 30 struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)ttm; 33 if (ttm->sg) { 34 node->sg = ttm->sg; 38 node->pages = nvbe->ttm 48 nv04_sgdma_unbind(struct ttm_tt *ttm) argument 62 nv50_sgdma_bind(struct ttm_tt *ttm, struct ttm_mem_reg *mem) argument 80 nv50_sgdma_unbind(struct ttm_tt *ttm) argument [all...] |
H A D | nouveau_ttm.h | 7 return container_of(bd, struct nouveau_drm, ttm.bdev);
|
H A D | nouveau_ttm.c | 286 return ttm_bo_mmap(filp, vma, &drm->ttm.bdev); 307 global_ref = &drm->ttm.mem_global_ref; 316 drm->ttm.mem_global_ref.release = NULL; 320 drm->ttm.bo_global_ref.mem_glob = global_ref->object; 321 global_ref = &drm->ttm.bo_global_ref.ref; 330 drm_global_item_unref(&drm->ttm.mem_global_ref); 331 drm->ttm.mem_global_ref.release = NULL; 341 if (drm->ttm.mem_global_ref.release == NULL) 344 drm_global_item_unref(&drm->ttm.bo_global_ref.ref); 345 drm_global_item_unref(&drm->ttm [all...] |
H A D | nouveau_drm.h | 38 #include <drm/ttm/ttm_bo_api.h> 39 #include <drm/ttm/ttm_bo_driver.h> 40 #include <drm/ttm/ttm_placement.h> 41 #include <drm/ttm/ttm_memory.h> 42 #include <drm/ttm/ttm_module.h> 43 #include <drm/ttm/ttm_page_alloc.h> 131 } ttm; member in struct:nouveau_drm
|
H A D | nouveau_bo.c | 215 nvbo->bo.bdev = &drm->ttm.bdev; 227 acc_size = ttm_bo_dma_acc_size(&drm->ttm.bdev, size, 230 ret = ttm_bo_init(&drm->ttm.bdev, &nvbo->bo, size, 235 /* ttm will call nouveau_bo_del_ttm if it fails.. */ 957 struct nouveau_channel *chan = drm->ttm.chan; 963 * old nouveau_mem node, these will get cleaned up after ttm has 975 ret = drm->ttm.move(chan, bo, &bo->mem, new_mem); 1032 &drm->ttm.copy); 1034 ret = mthd->init(chan, drm->ttm.copy.handle); 1036 nvif_object_fini(&drm->ttm 1352 nouveau_ttm_tt_populate(struct ttm_tt *ttm) argument 1418 nouveau_ttm_tt_unpopulate(struct ttm_tt *ttm) argument [all...] |
/drivers/gpu/drm/radeon/ |
H A D | radeon_ttm.c | 32 #include <ttm/ttm_bo_api.h> 33 #include <ttm/ttm_bo_driver.h> 34 #include <ttm/ttm_placement.h> 35 #include <ttm/ttm_module.h> 36 #include <ttm/ttm_page_alloc.h> 312 r = ttm_tt_set_placement_caching(bo->ttm, tmp_mem.placement); 317 r = ttm_tt_bind(bo->ttm, &tmp_mem); 381 if (old_mem->mem_type == TTM_PL_SYSTEM && bo->ttm == NULL) { 495 struct ttm_dma_tt ttm; member in struct:radeon_ttm_tt 505 static int radeon_ttm_tt_pin_userptr(struct ttm_tt *ttm) argument 567 radeon_ttm_tt_unpin_userptr(struct ttm_tt *ttm) argument 594 radeon_ttm_backend_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem) argument 624 radeon_ttm_backend_unbind(struct ttm_tt *ttm) argument 636 radeon_ttm_backend_destroy(struct ttm_tt *ttm) argument 678 radeon_ttm_tt_to_gtt(struct ttm_tt *ttm) argument 685 radeon_ttm_tt_populate(struct ttm_tt *ttm) argument 748 radeon_ttm_tt_unpopulate(struct ttm_tt *ttm) argument 789 radeon_ttm_tt_set_userptr(struct ttm_tt *ttm, uint64_t addr, uint32_t flags) argument 803 radeon_ttm_tt_has_userptr(struct ttm_tt *ttm) argument 813 radeon_ttm_tt_is_readonly(struct ttm_tt *ttm) argument [all...] |
/drivers/gpu/drm/vmwgfx/ |
H A D | vmwgfx_buffer.c | 29 #include <drm/ttm/ttm_bo_driver.h> 30 #include <drm/ttm/ttm_placement.h> 31 #include <drm/ttm/ttm_page_alloc.h> 394 vsgt->pages = vmw_tt->dma_ttm.ttm.pages; 395 vsgt->num_pages = vmw_tt->dma_ttm.ttm.num_pages; 504 container_of(bo->ttm, struct vmw_ttm_tt, dma_ttm.ttm); 521 container_of(bo->ttm, struct vmw_ttm_tt, dma_ttm.ttm); 541 container_of(bo->ttm, struc 547 vmw_ttm_bind(struct ttm_tt *ttm, struct ttm_mem_reg *bo_mem) argument 581 vmw_ttm_unbind(struct ttm_tt *ttm) argument 604 vmw_ttm_destroy(struct ttm_tt *ttm) argument 622 vmw_ttm_populate(struct ttm_tt *ttm) argument 649 vmw_ttm_unpopulate(struct ttm_tt *ttm) argument [all...] |
H A D | vmwgfx_gmrid_manager.c | 32 #include <drm/ttm/ttm_module.h> 33 #include <drm/ttm/ttm_bo_driver.h> 34 #include <drm/ttm/ttm_placement.h>
|
/drivers/gpu/drm/qxl/ |
H A D | qxl_ttm.c | 26 #include <ttm/ttm_bo_api.h> 27 #include <ttm/ttm_bo_driver.h> 28 #include <ttm/ttm_placement.h> 29 #include <ttm/ttm_page_alloc.h> 30 #include <ttm/ttm_module.h> 258 struct ttm_dma_tt ttm; member in struct:qxl_ttm_tt 263 static int qxl_ttm_backend_bind(struct ttm_tt *ttm, argument 266 struct qxl_ttm_tt *gtt = (void *)ttm; 269 if (!ttm->num_pages) { 271 ttm 277 qxl_ttm_backend_unbind(struct ttm_tt *ttm) argument 283 qxl_ttm_backend_destroy(struct ttm_tt *ttm) argument 297 qxl_ttm_tt_populate(struct ttm_tt *ttm) argument 311 qxl_ttm_tt_unpopulate(struct ttm_tt *ttm) argument [all...] |
/drivers/gpu/drm/ast/ |
H A D | ast_ttm.c | 30 #include <ttm/ttm_page_alloc.h> 35 return container_of(bd, struct ast_private, ttm.bdev); 55 global_ref = &ast->ttm.mem_global_ref; 67 ast->ttm.bo_global_ref.mem_glob = 68 ast->ttm.mem_global_ref.object; 69 global_ref = &ast->ttm.bo_global_ref.ref; 77 drm_global_item_unref(&ast->ttm.mem_global_ref); 86 if (ast->ttm.mem_global_ref.release == NULL) 89 drm_global_item_unref(&ast->ttm.bo_global_ref.ref); 90 drm_global_item_unref(&ast->ttm 228 ast_ttm_tt_populate(struct ttm_tt *ttm) argument 233 ast_ttm_tt_unpopulate(struct ttm_tt *ttm) argument [all...] |
/drivers/gpu/drm/cirrus/ |
H A D | cirrus_ttm.c | 30 #include <ttm/ttm_page_alloc.h> 35 return container_of(bd, struct cirrus_device, ttm.bdev); 55 global_ref = &cirrus->ttm.mem_global_ref; 67 cirrus->ttm.bo_global_ref.mem_glob = 68 cirrus->ttm.mem_global_ref.object; 69 global_ref = &cirrus->ttm.bo_global_ref.ref; 77 drm_global_item_unref(&cirrus->ttm.mem_global_ref); 86 if (cirrus->ttm.mem_global_ref.release == NULL) 89 drm_global_item_unref(&cirrus->ttm.bo_global_ref.ref); 90 drm_global_item_unref(&cirrus->ttm 228 cirrus_ttm_tt_populate(struct ttm_tt *ttm) argument 233 cirrus_ttm_tt_unpopulate(struct ttm_tt *ttm) argument [all...] |
H A D | cirrus_drv.h | 18 #include <drm/ttm/ttm_bo_api.h> 19 #include <drm/ttm/ttm_bo_driver.h> 20 #include <drm/ttm/ttm_placement.h> 21 #include <drm/ttm/ttm_memory.h> 22 #include <drm/ttm/ttm_module.h> 148 } ttm; member in struct:cirrus_device
|
/drivers/gpu/drm/mgag200/ |
H A D | mgag200_ttm.c | 30 #include <ttm/ttm_page_alloc.h> 35 return container_of(bd, struct mga_device, ttm.bdev); 55 global_ref = &ast->ttm.mem_global_ref; 67 ast->ttm.bo_global_ref.mem_glob = 68 ast->ttm.mem_global_ref.object; 69 global_ref = &ast->ttm.bo_global_ref.ref; 77 drm_global_item_unref(&ast->ttm.mem_global_ref); 86 if (ast->ttm.mem_global_ref.release == NULL) 89 drm_global_item_unref(&ast->ttm.bo_global_ref.ref); 90 drm_global_item_unref(&ast->ttm 228 mgag200_ttm_tt_populate(struct ttm_tt *ttm) argument 233 mgag200_ttm_tt_unpopulate(struct ttm_tt *ttm) argument [all...] |
H A D | mgag200_drv.h | 19 #include <drm/ttm/ttm_bo_api.h> 20 #include <drm/ttm/ttm_bo_driver.h> 21 #include <drm/ttm/ttm_placement.h> 22 #include <drm/ttm/ttm_memory.h> 23 #include <drm/ttm/ttm_module.h> 215 } ttm; member in struct:mga_device
|
/drivers/gpu/drm/bochs/ |
H A D | bochs_mm.c | 16 return container_of(bd, struct bochs_device, ttm.bdev); 34 global_ref = &bochs->ttm.mem_global_ref; 46 bochs->ttm.bo_global_ref.mem_glob = 47 bochs->ttm.mem_global_ref.object; 48 global_ref = &bochs->ttm.bo_global_ref.ref; 56 drm_global_item_unref(&bochs->ttm.mem_global_ref); 65 if (bochs->ttm.mem_global_ref.release == NULL) 68 drm_global_item_unref(&bochs->ttm.bo_global_ref.ref); 69 drm_global_item_unref(&bochs->ttm.mem_global_ref); 70 bochs->ttm [all...] |
H A D | bochs.h | 12 #include <ttm/ttm_bo_driver.h> 13 #include <ttm/ttm_page_alloc.h> 80 /* ttm */ 86 } ttm; member in struct:bochs_device
|