Home
last modified time | relevance | path

Searched refs:ttm (Results 1 - 25 of 188) sorted by relevance

12345678

/kernel/linux/linux-6.6/drivers/gpu/drm/ttm/
H A Dttm_tt.c39 #include <drm/ttm/ttm_bo.h>
40 #include <drm/ttm/ttm_tt.h>
58 * Allocates a ttm structure for the given BO.
67 if (bo->ttm) in ttm_tt_create()
85 bo->ttm = bdev->funcs->ttm_tt_create(bo, page_flags); in ttm_tt_create()
86 if (unlikely(bo->ttm == NULL)) in ttm_tt_create()
89 WARN_ON(bo->ttm->page_flags & TTM_TT_FLAG_EXTERNAL_MAPPABLE && in ttm_tt_create()
90 !(bo->ttm->page_flags & TTM_TT_FLAG_EXTERNAL)); in ttm_tt_create()
96 * Allocates storage for pointers to the pages that back the ttm.
98 static int ttm_tt_alloc_page_directory(struct ttm_tt *ttm) in ttm_tt_alloc_page_directory() argument
107 ttm_dma_tt_alloc_page_directory(struct ttm_tt *ttm) ttm_dma_tt_alloc_page_directory() argument
118 ttm_sg_tt_alloc_page_directory(struct ttm_tt *ttm) ttm_sg_tt_alloc_page_directory() argument
128 ttm_tt_destroy(struct ttm_device *bdev, struct ttm_tt *ttm) ttm_tt_destroy() argument
133 ttm_tt_init_fields(struct ttm_tt *ttm, struct ttm_buffer_object *bo, uint32_t page_flags, enum ttm_caching caching, unsigned long extra_pages) ttm_tt_init_fields() argument
147 ttm_tt_init(struct ttm_tt *ttm, struct ttm_buffer_object *bo, uint32_t page_flags, enum ttm_caching caching, unsigned long extra_pages) ttm_tt_init() argument
161 ttm_tt_fini(struct ttm_tt *ttm) ttm_tt_fini() argument
178 ttm_sg_tt_init(struct ttm_tt *ttm, struct ttm_buffer_object *bo, uint32_t page_flags, enum ttm_caching caching) ttm_sg_tt_init() argument
197 ttm_tt_swapin(struct ttm_tt *ttm) ttm_tt_swapin() argument
249 ttm_tt_swapout(struct ttm_device *bdev, struct ttm_tt *ttm, gfp_t gfp_flags) ttm_tt_swapout() argument
296 ttm_tt_populate(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) ttm_tt_populate() argument
354 ttm_tt_unpopulate(struct ttm_device *bdev, struct ttm_tt *ttm) ttm_tt_unpopulate() argument
[all...]
H A Dttm_agp_backend.c35 #include <drm/ttm/ttm_device.h>
36 #include <drm/ttm/ttm_tt.h>
37 #include <drm/ttm/ttm_resource.h>
45 struct ttm_tt ttm; member
50 int ttm_agp_bind(struct ttm_tt *ttm, struct ttm_resource *bo_mem) in ttm_agp_bind() argument
52 struct ttm_agp_backend *agp_be = container_of(ttm, struct ttm_agp_backend, ttm); in ttm_agp_bind()
55 int ret, cached = ttm->caching == ttm_cached; in ttm_agp_bind()
61 mem = agp_allocate_memory(agp_be->bridge, ttm->num_pages, AGP_USER_MEMORY); in ttm_agp_bind()
66 for (i = 0; i < ttm in ttm_agp_bind()
87 ttm_agp_unbind(struct ttm_tt *ttm) ttm_agp_unbind() argument
102 ttm_agp_is_bound(struct ttm_tt *ttm) ttm_agp_is_bound() argument
113 ttm_agp_destroy(struct ttm_tt *ttm) ttm_agp_destroy() argument
[all...]
H A Dttm_bo_util.c34 #include <drm/ttm/ttm_bo.h>
35 #include <drm/ttm/ttm_placement.h>
36 #include <drm/ttm/ttm_tt.h>
75 * ttm_move_memcpy - Helper to perform a memcpy ttm move operation.
149 struct ttm_tt *ttm = bo->ttm; in ttm_bo_move_memcpy() local
164 if (ttm && ((ttm->page_flags & TTM_TT_FLAG_SWAPPED) || in ttm_bo_move_memcpy()
166 ret = ttm_tt_populate(bdev, ttm, ctx); in ttm_bo_move_memcpy()
173 dst_iter = ttm_kmap_iter_tt_init(&_dst_iter.tt, bo->ttm); in ttm_bo_move_memcpy()
339 struct ttm_tt *ttm = bo->ttm; ttm_bo_kmap_ttm() local
497 struct ttm_tt *ttm = bo->ttm; ttm_bo_vmap() local
708 struct ttm_tt *ttm; ttm_bo_pipeline_gutting() local
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/ttm/
H A Dttm_tt.c39 #include <drm/ttm/ttm_bo_driver.h>
40 #include <drm/ttm/ttm_page_alloc.h>
41 #include <drm/ttm/ttm_set_memory.h>
44 * Allocates a ttm structure for the given BO.
53 if (bo->ttm) in ttm_tt_create()
77 bo->ttm = bdev->driver->ttm_tt_create(bo, page_flags); in ttm_tt_create()
78 if (unlikely(bo->ttm == NULL)) in ttm_tt_create()
85 * Allocates storage for pointers to the pages that back the ttm.
87 static int ttm_tt_alloc_page_directory(struct ttm_tt *ttm) in ttm_tt_alloc_page_directory() argument
89 ttm in ttm_tt_alloc_page_directory()
96 ttm_dma_tt_alloc_page_directory(struct ttm_dma_tt *ttm) ttm_dma_tt_alloc_page_directory() argument
108 ttm_sg_tt_alloc_page_directory(struct ttm_dma_tt *ttm) ttm_sg_tt_alloc_page_directory() argument
149 ttm_tt_set_caching(struct ttm_tt *ttm, enum ttm_caching_state c_state) ttm_tt_set_caching() argument
195 ttm_tt_set_placement_caching(struct ttm_tt *ttm, uint32_t placement) ttm_tt_set_placement_caching() argument
210 ttm_tt_destroy_common(struct ttm_bo_device *bdev, struct ttm_tt *ttm) ttm_tt_destroy_common() argument
222 ttm_tt_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm) ttm_tt_destroy() argument
227 ttm_tt_init_fields(struct ttm_tt *ttm, struct ttm_buffer_object *bo, uint32_t page_flags) ttm_tt_init_fields() argument
239 ttm_tt_init(struct ttm_tt *ttm, struct ttm_buffer_object *bo, uint32_t page_flags) ttm_tt_init() argument
252 ttm_tt_fini(struct ttm_tt *ttm) ttm_tt_fini() argument
262 struct ttm_tt *ttm = &ttm_dma->ttm; ttm_dma_tt_init() local
278 struct ttm_tt *ttm = &ttm_dma->ttm; ttm_sg_tt_init() local
298 struct ttm_tt *ttm = &ttm_dma->ttm; ttm_dma_tt_fini() local
309 ttm_tt_swapin(struct ttm_tt *ttm) ttm_tt_swapin() argument
351 ttm_tt_swapout(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct file *persistent_swap_storage) ttm_tt_swapout() argument
411 ttm_tt_add_mapping(struct ttm_bo_device *bdev, struct ttm_tt *ttm) ttm_tt_add_mapping() argument
422 ttm_tt_populate(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) ttm_tt_populate() argument
443 ttm_tt_clear_mapping(struct ttm_tt *ttm) ttm_tt_clear_mapping() argument
457 ttm_tt_unpopulate(struct ttm_bo_device *bdev, struct ttm_tt *ttm) ttm_tt_unpopulate() argument
[all...]
H A Dttm_agp_backend.c35 #include <drm/ttm/ttm_module.h>
36 #include <drm/ttm/ttm_bo_driver.h>
37 #include <drm/ttm/ttm_page_alloc.h>
38 #include <drm/ttm/ttm_placement.h>
46 struct ttm_tt ttm; member
51 int ttm_agp_bind(struct ttm_tt *ttm, struct ttm_resource *bo_mem) in ttm_agp_bind() argument
53 struct ttm_agp_backend *agp_be = container_of(ttm, struct ttm_agp_backend, ttm); in ttm_agp_bind()
63 mem = agp_allocate_memory(agp_be->bridge, ttm->num_pages, AGP_USER_MEMORY); in ttm_agp_bind()
68 for (i = 0; i < ttm in ttm_agp_bind()
89 ttm_agp_unbind(struct ttm_tt *ttm) ttm_agp_unbind() argument
104 ttm_agp_is_bound(struct ttm_tt *ttm) ttm_agp_is_bound() argument
115 ttm_agp_destroy(struct ttm_tt *ttm) ttm_agp_destroy() argument
[all...]
H A Dttm_page_alloc.c48 #include <drm/ttm/ttm_bo_driver.h>
49 #include <drm/ttm/ttm_page_alloc.h>
50 #include <drm/ttm/ttm_set_memory.h>
220 * Select the right pool or requested caching state and ttm flags. */
1029 ttm_pool_unpopulate_helper(struct ttm_tt *ttm, unsigned mem_count_update) in ttm_pool_unpopulate_helper() argument
1038 if (!ttm->pages[i]) in ttm_pool_unpopulate_helper()
1041 ttm_mem_global_free_page(mem_glob, ttm->pages[i], PAGE_SIZE); in ttm_pool_unpopulate_helper()
1045 ttm_put_pages(ttm->pages, ttm->num_pages, ttm in ttm_pool_unpopulate_helper()
1050 ttm_pool_populate(struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) ttm_pool_populate() argument
1091 ttm_pool_unpopulate(struct ttm_tt *ttm) ttm_pool_unpopulate() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/radeon/
H A Dradeon_ttm.c44 #include <drm/ttm/ttm_bo.h>
45 #include <drm/ttm/ttm_placement.h>
46 #include <drm/ttm/ttm_range_manager.h>
47 #include <drm/ttm/ttm_tt.h>
55 static int radeon_ttm_tt_bind(struct ttm_device *bdev, struct ttm_tt *ttm,
57 static void radeon_ttm_tt_unbind(struct ttm_device *bdev, struct ttm_tt *ttm);
204 r = radeon_ttm_tt_bind(bo->bdev, bo->ttm, new_mem); in radeon_bo_move()
216 bo->ttm == NULL)) { in radeon_bo_move()
228 radeon_ttm_tt_unbind(bo->bdev, bo->ttm); in radeon_bo_move()
321 struct ttm_tt ttm; member
331 radeon_ttm_tt_pin_userptr(struct ttm_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_pin_userptr() argument
392 radeon_ttm_tt_unpin_userptr(struct ttm_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_unpin_userptr() argument
421 radeon_ttm_backend_is_bound(struct ttm_tt *ttm) radeon_ttm_backend_is_bound() argument
428 radeon_ttm_backend_bind(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) radeon_ttm_backend_bind() argument
464 radeon_ttm_backend_unbind(struct ttm_device *bdev, struct ttm_tt *ttm) radeon_ttm_backend_unbind() argument
480 radeon_ttm_backend_destroy(struct ttm_device *bdev, struct ttm_tt *ttm) radeon_ttm_backend_destroy() argument
522 radeon_ttm_tt_to_gtt(struct radeon_device *rdev, struct ttm_tt *ttm) radeon_ttm_tt_to_gtt() argument
535 radeon_ttm_tt_populate(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) radeon_ttm_tt_populate() argument
561 radeon_ttm_tt_unpopulate(struct ttm_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_unpopulate() argument
581 radeon_ttm_tt_set_userptr(struct radeon_device *rdev, struct ttm_tt *ttm, uint64_t addr, uint32_t flags) radeon_ttm_tt_set_userptr() argument
596 radeon_ttm_tt_is_bound(struct ttm_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_is_bound() argument
607 radeon_ttm_tt_bind(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) radeon_ttm_tt_bind() argument
625 radeon_ttm_tt_unbind(struct ttm_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_unbind() argument
639 radeon_ttm_tt_destroy(struct ttm_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_destroy() argument
653 radeon_ttm_tt_has_userptr(struct radeon_device *rdev, struct ttm_tt *ttm) radeon_ttm_tt_has_userptr() argument
664 radeon_ttm_tt_is_readonly(struct radeon_device *rdev, struct ttm_tt *ttm) radeon_ttm_tt_is_readonly() argument
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/radeon/
H A Dradeon_ttm.c47 #include <drm/ttm/ttm_bo_api.h>
48 #include <drm/ttm/ttm_bo_driver.h>
49 #include <drm/ttm/ttm_module.h>
50 #include <drm/ttm/ttm_page_alloc.h>
51 #include <drm/ttm/ttm_placement.h>
60 struct ttm_tt *ttm,
147 if (radeon_ttm_tt_has_userptr(rdev, bo->ttm)) in radeon_verify_access()
235 r = ttm_tt_set_placement_caching(bo->ttm, tmp_mem.placement); in radeon_move_vram_ram()
240 r = ttm_tt_populate(bo->bdev, bo->ttm, &ctx); in radeon_move_vram_ram()
245 r = radeon_ttm_tt_bind(bo->bdev, bo->ttm, in radeon_move_vram_ram()
421 struct ttm_dma_tt ttm; global() member
431 radeon_ttm_tt_pin_userptr(struct ttm_bo_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_pin_userptr() argument
492 radeon_ttm_tt_unpin_userptr(struct ttm_bo_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_unpin_userptr() argument
521 radeon_ttm_backend_is_bound(struct ttm_tt *ttm) radeon_ttm_backend_is_bound() argument
528 radeon_ttm_backend_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) radeon_ttm_backend_bind() argument
564 radeon_ttm_backend_unbind(struct ttm_bo_device *bdev, struct ttm_tt *ttm) radeon_ttm_backend_unbind() argument
580 radeon_ttm_backend_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm) radeon_ttm_backend_destroy() argument
616 radeon_ttm_tt_to_gtt(struct radeon_device *rdev, struct ttm_tt *ttm) radeon_ttm_tt_to_gtt() argument
629 radeon_ttm_tt_populate(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) radeon_ttm_tt_populate() argument
669 radeon_ttm_tt_unpopulate(struct ttm_bo_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_unpopulate() argument
701 radeon_ttm_tt_set_userptr(struct radeon_device *rdev, struct ttm_tt *ttm, uint64_t addr, uint32_t flags) radeon_ttm_tt_set_userptr() argument
716 radeon_ttm_tt_is_bound(struct ttm_bo_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_is_bound() argument
727 radeon_ttm_tt_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) radeon_ttm_tt_bind() argument
745 radeon_ttm_tt_unbind(struct ttm_bo_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_unbind() argument
759 radeon_ttm_tt_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm) radeon_ttm_tt_destroy() argument
775 radeon_ttm_tt_has_userptr(struct radeon_device *rdev, struct ttm_tt *ttm) radeon_ttm_tt_has_userptr() argument
786 radeon_ttm_tt_is_readonly(struct radeon_device *rdev, struct ttm_tt *ttm) radeon_ttm_tt_is_readonly() argument
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/
H A Dnouveau_sgdma.c13 struct ttm_dma_tt ttm; member
18 nouveau_sgdma_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm) in nouveau_sgdma_destroy() argument
20 struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)ttm; in nouveau_sgdma_destroy()
22 if (ttm) { in nouveau_sgdma_destroy()
23 nouveau_sgdma_unbind(bdev, ttm); in nouveau_sgdma_destroy()
24 ttm_tt_destroy_common(bdev, ttm); in nouveau_sgdma_destroy()
25 ttm_dma_tt_fini(&nvbe->ttm); in nouveau_sgdma_destroy()
31 nouveau_sgdma_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_resource *reg) in nouveau_sgdma_bind() argument
33 struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)ttm; in nouveau_sgdma_bind()
41 ret = nouveau_mem_host(reg, &nvbe->ttm); in nouveau_sgdma_bind()
58 nouveau_sgdma_unbind(struct ttm_bo_device *bdev, struct ttm_tt *ttm) nouveau_sgdma_unbind() argument
[all...]
H A Dnouveau_bo.c47 static int nouveau_ttm_tt_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm,
218 nvbo->bo.bdev = &drm->ttm.bdev; in nouveau_bo_alloc()
318 /* ttm will call nouveau_bo_del_ttm if it fails.. */ in nouveau_bo_init()
361 mmu->type[drm->ttm.type_vram].type & NVIF_MEM_UNCACHED) in set_placement_list()
592 struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm; in nouveau_bo_sync_for_device()
602 for (i = 0; i < ttm_dma->ttm.num_pages; i++) in nouveau_bo_sync_for_device()
612 struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm; in nouveau_bo_sync_for_cpu()
622 for (i = 0; i < ttm_dma->ttm.num_pages; i++) in nouveau_bo_sync_for_cpu()
632 mutex_lock(&drm->ttm.io_reserve_mutex); in nouveau_bo_add_io_reserve_lru()
633 list_move_tail(&nvbo->io_reserve_lru, &drm->ttm in nouveau_bo_add_io_reserve_lru()
720 nouveau_ttm_tt_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_resource *reg) nouveau_ttm_tt_bind() argument
736 nouveau_ttm_tt_unbind(struct ttm_bo_device *bdev, struct ttm_tt *ttm) nouveau_ttm_tt_unbind() argument
1313 nouveau_ttm_tt_populate(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) nouveau_ttm_tt_populate() argument
1350 nouveau_ttm_tt_unpopulate(struct ttm_bo_device *bdev, struct ttm_tt *ttm) nouveau_ttm_tt_unpopulate() argument
1382 nouveau_ttm_tt_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm) nouveau_ttm_tt_destroy() argument
[all...]
H A Dnouveau_ttm.c165 ret = ttm_bo_mmap(filp, vma, &drm->ttm.bdev); in nouveau_ttm_mmap()
184 drm->ttm.type_host[!!kind] = typei; in nouveau_ttm_init_host()
190 drm->ttm.type_ncoh[!!kind] = typei; in nouveau_ttm_init_host()
207 ttm_set_driver_manager(&drm->ttm.bdev, TTM_PL_VRAM, man); in nouveau_ttm_init_vram()
211 return ttm_range_man_init(&drm->ttm.bdev, TTM_PL_VRAM, false, in nouveau_ttm_init_vram()
219 struct ttm_resource_manager *man = ttm_manager_type(&drm->ttm.bdev, TTM_PL_VRAM); in nouveau_ttm_fini_vram()
223 ttm_resource_manager_force_list_clean(&drm->ttm.bdev, man); in nouveau_ttm_fini_vram()
225 ttm_set_driver_manager(&drm->ttm.bdev, TTM_PL_VRAM, NULL); in nouveau_ttm_fini_vram()
228 ttm_range_man_fini(&drm->ttm.bdev, TTM_PL_VRAM); in nouveau_ttm_fini_vram()
243 return ttm_range_man_init(&drm->ttm in nouveau_ttm_init_gtt()
[all...]
/kernel/linux/linux-6.6/include/drm/ttm/
H A Dttm_tt.h32 #include <drm/ttm/ttm_caching.h>
33 #include <drm/ttm/ttm_kmap_iter.h>
139 * @ttm: The struct ttm_tt.
140 * @bo: The buffer object we create the ttm for.
150 int ttm_tt_init(struct ttm_tt *ttm, struct ttm_buffer_object *bo,
159 * @ttm: the ttm_tt structure.
163 void ttm_tt_fini(struct ttm_tt *ttm);
169 * @ttm: The struct ttm_tt.
173 void ttm_tt_destroy(struct ttm_device *bdev, struct ttm_tt *ttm);
178 * @ttm
216 ttm_tt_mark_for_clear(struct ttm_tt *ttm) ttm_tt_mark_for_clear() argument
[all...]
/kernel/linux/linux-5.10/include/drm/ttm/
H A Dttm_tt.h59 * @be: Pointer to the ttm backend.
95 * @ttm: Base ttm_tt struct.
104 struct ttm_tt ttm; member
123 * @ttm: The struct ttm_tt.
124 * @bo: The buffer object we create the ttm for.
132 int ttm_tt_init(struct ttm_tt *ttm, struct ttm_buffer_object *bo,
142 * @ttm: the ttm_tt structure.
146 void ttm_tt_fini(struct ttm_tt *ttm);
152 * @ttm: The struct ttm_tt.
156 void ttm_tt_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm);
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ttm.c46 #include <drm/ttm/ttm_bo_api.h>
47 #include <drm/ttm/ttm_bo_driver.h>
48 #include <drm/ttm/ttm_placement.h>
49 #include <drm/ttm/ttm_module.h>
50 #include <drm/ttm/ttm_page_alloc.h>
67 struct ttm_tt *ttm,
175 if (amdgpu_ttm_tt_get_usermm(bo->ttm)) in amdgpu_verify_access()
288 flags = amdgpu_ttm_tt_pte_flags(adev, bo->ttm, mem); in amdgpu_ttm_map_buffer()
298 dma = container_of(bo->ttm, struct ttm_dma_tt, ttm); in amdgpu_ttm_map_buffer()
814 struct ttm_dma_tt ttm; global() member
836 struct ttm_tt *ttm = bo->tbo.ttm; amdgpu_ttm_tt_get_user_pages() local
938 amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm) amdgpu_ttm_tt_get_user_pages_done() argument
975 amdgpu_ttm_tt_set_user_pages(struct ttm_tt *ttm, struct page **pages) amdgpu_ttm_tt_set_user_pages() argument
988 amdgpu_ttm_tt_pin_userptr(struct ttm_bo_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_tt_pin_userptr() argument
1026 amdgpu_ttm_tt_unpin_userptr(struct ttm_bo_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_tt_unpin_userptr() argument
1064 struct ttm_tt *ttm = tbo->ttm; amdgpu_ttm_gart_bind() local
1110 amdgpu_ttm_backend_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) amdgpu_ttm_backend_bind() argument
1250 amdgpu_ttm_backend_unbind(struct ttm_bo_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_backend_unbind() argument
1275 amdgpu_ttm_backend_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_backend_destroy() argument
1321 amdgpu_ttm_tt_populate(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) amdgpu_ttm_tt_populate() argument
1376 amdgpu_ttm_tt_unpopulate(struct ttm_bo_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_tt_unpopulate() argument
1452 amdgpu_ttm_tt_get_usermm(struct ttm_tt *ttm) amdgpu_ttm_tt_get_usermm() argument
1470 amdgpu_ttm_tt_affect_userptr(struct ttm_tt *ttm, unsigned long start, unsigned long end) amdgpu_ttm_tt_affect_userptr() argument
1492 amdgpu_ttm_tt_is_userptr(struct ttm_tt *ttm) amdgpu_ttm_tt_is_userptr() argument
1505 amdgpu_ttm_tt_is_readonly(struct ttm_tt *ttm) amdgpu_ttm_tt_is_readonly() argument
1523 amdgpu_ttm_tt_pde_flags(struct ttm_tt *ttm, struct ttm_resource *mem) amdgpu_ttm_tt_pde_flags() argument
1548 amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm, struct ttm_resource *mem) amdgpu_ttm_tt_pte_flags() argument
[all...]
H A Damdgpu_ttm.h152 bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm);
159 static inline bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm) in amdgpu_ttm_tt_get_user_pages_done() argument
165 void amdgpu_ttm_tt_set_user_pages(struct ttm_tt *ttm, struct page **pages);
168 bool amdgpu_ttm_tt_has_userptr(struct ttm_tt *ttm);
169 struct mm_struct *amdgpu_ttm_tt_get_usermm(struct ttm_tt *ttm);
170 bool amdgpu_ttm_tt_affect_userptr(struct ttm_tt *ttm, unsigned long start,
172 bool amdgpu_ttm_tt_userptr_invalidated(struct ttm_tt *ttm,
174 bool amdgpu_ttm_tt_is_userptr(struct ttm_tt *ttm);
175 bool amdgpu_ttm_tt_is_readonly(struct ttm_tt *ttm);
176 uint64_t amdgpu_ttm_tt_pde_flags(struct ttm_tt *ttm, struc
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/
H A Dnouveau_sgdma.c4 #include <drm/ttm/ttm_tt.h>
15 struct ttm_tt ttm; member
20 nouveau_sgdma_destroy(struct ttm_device *bdev, struct ttm_tt *ttm) in nouveau_sgdma_destroy() argument
22 struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)ttm; in nouveau_sgdma_destroy()
24 if (ttm) { in nouveau_sgdma_destroy()
25 ttm_tt_fini(&nvbe->ttm); in nouveau_sgdma_destroy()
31 nouveau_sgdma_bind(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_resource *reg) in nouveau_sgdma_bind() argument
33 struct nouveau_sgdma_be *nvbe = (struct nouveau_sgdma_be *)ttm; in nouveau_sgdma_bind()
41 ret = nouveau_mem_host(reg, &nvbe->ttm); in nouveau_sgdma_bind()
58 nouveau_sgdma_unbind(struct ttm_device *bdev, struct ttm_tt *ttm) in nouveau_sgdma_unbind() argument
[all...]
H A Dnouveau_ttm.c28 #include <drm/ttm/ttm_range_manager.h>
170 drm->ttm.type_host[!!kind] = typei; in nouveau_ttm_init_host()
176 drm->ttm.type_ncoh[!!kind] = typei; in nouveau_ttm_init_host()
191 ttm_resource_manager_init(man, &drm->ttm.bdev, in nouveau_ttm_init_vram()
193 ttm_set_driver_manager(&drm->ttm.bdev, TTM_PL_VRAM, man); in nouveau_ttm_init_vram()
197 return ttm_range_man_init(&drm->ttm.bdev, TTM_PL_VRAM, false, in nouveau_ttm_init_vram()
205 struct ttm_resource_manager *man = ttm_manager_type(&drm->ttm.bdev, TTM_PL_VRAM); in nouveau_ttm_fini_vram()
209 ttm_resource_manager_evict_all(&drm->ttm.bdev, man); in nouveau_ttm_fini_vram()
211 ttm_set_driver_manager(&drm->ttm.bdev, TTM_PL_VRAM, NULL); in nouveau_ttm_fini_vram()
214 ttm_range_man_fini(&drm->ttm in nouveau_ttm_fini_vram()
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ttm.c46 #include <drm/ttm/ttm_bo.h>
47 #include <drm/ttm/ttm_placement.h>
48 #include <drm/ttm/ttm_range_manager.h>
49 #include <drm/ttm/ttm_tt.h>
69 struct ttm_tt *ttm,
72 struct ttm_tt *ttm);
249 flags = amdgpu_ttm_tt_pte_flags(adev, bo->ttm, mem); in amdgpu_ttm_map_buffer()
258 dma_addr = &bo->ttm->dma_address[mm_cur->start >> PAGE_SHIFT]; in amdgpu_ttm_map_buffer()
464 r = amdgpu_ttm_backend_bind(bo->bdev, bo->ttm, new_mem); in amdgpu_bo_move()
473 bo->ttm in amdgpu_bo_move()
640 struct ttm_tt ttm; global() member
663 struct ttm_tt *ttm = bo->tbo.ttm; amdgpu_ttm_tt_get_user_pages() local
710 amdgpu_ttm_tt_discard_user_pages(struct ttm_tt *ttm, struct hmm_range *range) amdgpu_ttm_tt_discard_user_pages() argument
725 amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm, struct hmm_range *range) amdgpu_ttm_tt_get_user_pages_done() argument
749 amdgpu_ttm_tt_set_user_pages(struct ttm_tt *ttm, struct page **pages) amdgpu_ttm_tt_set_user_pages() argument
762 amdgpu_ttm_tt_pin_userptr(struct ttm_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_tt_pin_userptr() argument
799 amdgpu_ttm_tt_unpin_userptr(struct ttm_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_tt_unpin_userptr() argument
824 amdgpu_ttm_gart_bind_gfx9_mqd(struct amdgpu_device *adev, struct ttm_tt *ttm, uint64_t flags) amdgpu_ttm_gart_bind_gfx9_mqd() argument
860 struct ttm_tt *ttm = tbo->ttm; amdgpu_ttm_gart_bind() local
880 amdgpu_ttm_backend_bind(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) amdgpu_ttm_backend_bind() argument
1019 amdgpu_ttm_backend_unbind(struct ttm_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_backend_unbind() argument
1047 amdgpu_ttm_backend_destroy(struct ttm_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_backend_destroy() argument
1104 amdgpu_ttm_tt_populate(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) amdgpu_ttm_tt_populate() argument
1145 amdgpu_ttm_tt_unpopulate(struct ttm_device *bdev, struct ttm_tt *ttm) amdgpu_ttm_tt_unpopulate() argument
1240 amdgpu_ttm_tt_get_usermm(struct ttm_tt *ttm) amdgpu_ttm_tt_get_usermm() argument
1258 amdgpu_ttm_tt_affect_userptr(struct ttm_tt *ttm, unsigned long start, unsigned long end, unsigned long *userptr) amdgpu_ttm_tt_affect_userptr() argument
1282 amdgpu_ttm_tt_is_userptr(struct ttm_tt *ttm) amdgpu_ttm_tt_is_userptr() argument
1295 amdgpu_ttm_tt_is_readonly(struct ttm_tt *ttm) amdgpu_ttm_tt_is_readonly() argument
1313 amdgpu_ttm_tt_pde_flags(struct ttm_tt *ttm, struct ttm_resource *mem) amdgpu_ttm_tt_pde_flags() argument
1345 amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm, struct ttm_resource *mem) amdgpu_ttm_tt_pte_flags() argument
[all...]
H A Damdgpu_ttm.h171 void amdgpu_ttm_tt_discard_user_pages(struct ttm_tt *ttm,
173 bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm,
182 static inline void amdgpu_ttm_tt_discard_user_pages(struct ttm_tt *ttm, in amdgpu_ttm_tt_discard_user_pages() argument
186 static inline bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm, in amdgpu_ttm_tt_get_user_pages_done() argument
193 void amdgpu_ttm_tt_set_user_pages(struct ttm_tt *ttm, struct page **pages);
198 bool amdgpu_ttm_tt_has_userptr(struct ttm_tt *ttm);
199 struct mm_struct *amdgpu_ttm_tt_get_usermm(struct ttm_tt *ttm);
200 bool amdgpu_ttm_tt_affect_userptr(struct ttm_tt *ttm, unsigned long start,
202 bool amdgpu_ttm_tt_userptr_invalidated(struct ttm_tt *ttm,
204 bool amdgpu_ttm_tt_is_userptr(struct ttm_tt *ttm);
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gem/
H A Di915_gem_ttm.c8 #include <drm/ttm/ttm_placement.h>
9 #include <drm/ttm/ttm_tt.h>
37 * @ttm: The base TTM page vector.
50 struct ttm_tt ttm; member
189 struct ttm_tt *ttm, in i915_ttm_tt_shmem_populate()
194 struct i915_ttm_tt *i915_tt = container_of(ttm, typeof(*i915_tt), ttm); in i915_ttm_tt_shmem_populate()
196 const size_t size = (size_t)ttm->num_pages << PAGE_SHIFT; in i915_ttm_tt_shmem_populate()
234 ttm->pages[i++] = page; in i915_ttm_tt_shmem_populate()
236 if (ttm in i915_ttm_tt_shmem_populate()
188 i915_ttm_tt_shmem_populate(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) i915_ttm_tt_shmem_populate() argument
247 i915_ttm_tt_shmem_unpopulate(struct ttm_tt *ttm) i915_ttm_tt_shmem_unpopulate() argument
322 i915_ttm_tt_populate(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) i915_ttm_tt_populate() argument
334 i915_ttm_tt_unpopulate(struct ttm_device *bdev, struct ttm_tt *ttm) i915_ttm_tt_unpopulate() argument
350 i915_ttm_tt_destroy(struct ttm_device *bdev, struct ttm_tt *ttm) i915_ttm_tt_destroy() argument
526 i915_ttm_tt_get_st(struct ttm_tt *ttm) i915_ttm_tt_get_st() argument
[all...]
H A Di915_gem_ttm_pm.c6 #include <drm/ttm/ttm_placement.h>
7 #include <drm/ttm/ttm_tt.h>
24 if (obj->ttm.backup) { in i915_ttm_backup_free()
25 i915_gem_object_put(obj->ttm.backup); in i915_ttm_backup_free()
26 obj->ttm.backup = NULL; in i915_ttm_backup_free()
56 if (!i915_ttm_cpu_maps_iomem(bo->resource) || obj->ttm.backup) in i915_ttm_backup()
93 err = ttm_tt_populate(backup_bo->bdev, backup_bo->ttm, &ctx); in i915_ttm_backup()
106 obj->ttm.backup = backup; in i915_ttm_backup()
173 struct drm_i915_gem_object *backup = obj->ttm.backup; in i915_ttm_restore()
192 err = ttm_tt_populate(backup_bo->bdev, backup_bo->ttm, in i915_ttm_restore()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_ttm_buffer.c29 #include <drm/ttm/ttm_bo_driver.h>
30 #include <drm/ttm/ttm_placement.h>
31 #include <drm/ttm/ttm_page_alloc.h>
441 vsgt->pages = vmw_tt->dma_ttm.ttm.pages; in vmw_ttm_map_dma()
442 vsgt->num_pages = vmw_tt->dma_ttm.ttm.num_pages; in vmw_ttm_map_dma()
552 container_of(bo->ttm, struct vmw_ttm_tt, dma_ttm.ttm); in vmw_bo_sg_table()
559 struct ttm_tt *ttm, struct ttm_resource *bo_mem) in vmw_ttm_bind()
562 container_of(ttm, struct vmw_ttm_tt, dma_ttm.ttm); in vmw_ttm_bind()
558 vmw_ttm_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) vmw_ttm_bind() argument
602 vmw_ttm_unbind(struct ttm_bo_device *bdev, struct ttm_tt *ttm) vmw_ttm_unbind() argument
628 vmw_ttm_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm) vmw_ttm_destroy() argument
648 vmw_ttm_populate(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) vmw_ttm_populate() argument
677 vmw_ttm_unpopulate(struct ttm_bo_device *bdev, struct ttm_tt *ttm) vmw_ttm_unpopulate() argument
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/qxl/
H A Dqxl_ttm.c32 #include <drm/ttm/ttm_bo_api.h>
33 #include <drm/ttm/ttm_bo_driver.h>
34 #include <drm/ttm/ttm_module.h>
35 #include <drm/ttm/ttm_page_alloc.h>
36 #include <drm/ttm/ttm_placement.h>
102 struct ttm_tt ttm; member
108 struct ttm_tt *ttm, in qxl_ttm_backend_bind()
111 struct qxl_ttm_tt *gtt = (void *)ttm; in qxl_ttm_backend_bind()
114 if (!ttm->num_pages) { in qxl_ttm_backend_bind()
116 ttm in qxl_ttm_backend_bind()
107 qxl_ttm_backend_bind(struct ttm_bo_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) qxl_ttm_backend_bind() argument
122 qxl_ttm_backend_unbind(struct ttm_bo_device *bdev, struct ttm_tt *ttm) qxl_ttm_backend_unbind() argument
128 qxl_ttm_backend_destroy(struct ttm_bo_device *bdev, struct ttm_tt *ttm) qxl_ttm_backend_destroy() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/qxl/
H A Dqxl_ttm.c32 #include <drm/ttm/ttm_bo.h>
33 #include <drm/ttm/ttm_placement.h>
34 #include <drm/ttm/ttm_range_manager.h>
35 #include <drm/ttm/ttm_tt.h>
102 static void qxl_ttm_backend_destroy(struct ttm_device *bdev, struct ttm_tt *ttm) in qxl_ttm_backend_destroy() argument
104 ttm_tt_fini(ttm); in qxl_ttm_backend_destroy()
105 kfree(ttm); in qxl_ttm_backend_destroy()
111 struct ttm_tt *ttm; in qxl_ttm_tt_create() local
113 ttm = kzalloc(sizeof(struct ttm_tt), GFP_KERNEL); in qxl_ttm_tt_create()
114 if (ttm in qxl_ttm_tt_create()
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_ttm_buffer.c30 #include <drm/ttm/ttm_placement.h>
293 container_of(bo->ttm, struct vmw_ttm_tt, dma_ttm); in vmw_bo_sg_table()
300 struct ttm_tt *ttm, struct ttm_resource *bo_mem) in vmw_ttm_bind()
303 container_of(ttm, struct vmw_ttm_tt, dma_ttm); in vmw_ttm_bind()
322 ttm->num_pages, vmw_be->gmr_id); in vmw_ttm_bind()
327 vmw_mob_create(ttm->num_pages); in vmw_ttm_bind()
333 &vmw_be->vsgt, ttm->num_pages, in vmw_ttm_bind()
347 struct ttm_tt *ttm) in vmw_ttm_unbind()
350 container_of(ttm, struct vmw_ttm_tt, dma_ttm); in vmw_ttm_unbind()
374 static void vmw_ttm_destroy(struct ttm_device *bdev, struct ttm_tt *ttm) in vmw_ttm_destroy() argument
299 vmw_ttm_bind(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_resource *bo_mem) vmw_ttm_bind() argument
346 vmw_ttm_unbind(struct ttm_device *bdev, struct ttm_tt *ttm) vmw_ttm_unbind() argument
388 vmw_ttm_populate(struct ttm_device *bdev, struct ttm_tt *ttm, struct ttm_operation_ctx *ctx) vmw_ttm_populate() argument
402 vmw_ttm_unpopulate(struct ttm_device *bdev, struct ttm_tt *ttm) vmw_ttm_unpopulate() argument
[all...]

Completed in 17 milliseconds

12345678