Home
last modified time | relevance | path

Searched refs:tbo (Results 1 – 25 of 63) sorted by relevance

123

/linux-6.3-rc2/drivers/gpu/drm/amd/amdgpu/
A Damdgpu_object.c63 drm_prime_gem_destroy(&bo->tbo.base, bo->tbo.sg); in amdgpu_bo_destroy()
76 amdgpu_bo_destroy(tbo); in amdgpu_bo_user_destroy()
93 amdgpu_bo_destroy(tbo); in amdgpu_bo_vm_destroy()
384 ttm_resource_free(&(*bo_ptr)->tbo, &(*bo_ptr)->tbo.resource); in amdgpu_bo_create_kernel_at()
780 r = ttm_bo_kmap(&bo->tbo, 0, PFN_UP(bo->tbo.base.size), &bo->kmap); in amdgpu_bo_kmap()
832 ttm_bo_get(&bo->tbo); in amdgpu_bo_ref()
849 tbo = &((*bo)->tbo); in amdgpu_bo_unref()
850 ttm_bo_put(tbo); in amdgpu_bo_unref()
956 ttm_bo_pin(&bo->tbo); in amdgpu_bo_pin_restricted()
1252 if (abo->tbo.base.dma_buf && !abo->tbo.base.import_attach && in amdgpu_bo_move_notify()
[all …]
A Damdgpu_dma_buf.c149 if (!bo->tbo.pin_count) { in amdgpu_dma_buf_map()
160 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_dma_buf_map()
169 switch (bo->tbo.resource->mem_type) { in amdgpu_dma_buf_map()
172 bo->tbo.ttm->pages, in amdgpu_dma_buf_map()
173 bo->tbo.ttm->num_pages); in amdgpu_dma_buf_map()
184 bo->tbo.base.size, attach->dev, in amdgpu_dma_buf_map()
254 if (!bo->tbo.pin_count && in amdgpu_dma_buf_begin_cpu_access()
294 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || in amdgpu_gem_prime_export()
375 if (!bo->tbo.resource || bo->tbo.resource->mem_type == TTM_PL_SYSTEM) in amdgpu_dma_buf_move_notify()
378 r = ttm_bo_validate(&bo->tbo, &placement, &ctx); in amdgpu_dma_buf_move_notify()
[all …]
A Damdgpu_object.h99 struct ttm_buffer_object tbo; member
131 return container_of(tbo, struct amdgpu_bo, tbo); in ttm_to_amdgpu_bo()
172 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_bo_reserve()
175 r = ttm_bo_reserve(&bo->tbo, !no_intr, false, NULL); in amdgpu_bo_reserve()
186 ttm_bo_unreserve(&bo->tbo); in amdgpu_bo_unreserve()
191 return bo->tbo.base.size; in amdgpu_bo_size()
196 return bo->tbo.base.size / AMDGPU_GPU_PAGE_SIZE; in amdgpu_bo_ngpu_pages()
212 return drm_vma_node_offset_addr(&bo->tbo.base.vma_node); in amdgpu_bo_mmap_offset()
220 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_bo_in_cpu_visible_vram()
223 if (bo->tbo.resource->mem_type != TTM_PL_VRAM) in amdgpu_bo_in_cpu_visible_vram()
[all …]
A Damdgpu_amdkfd_gpuvm.c690 bo->tbo.sg = NULL; in kfd_mem_dmaunmap_sg_bo()
905 entry->bo = &bo->tbo; in add_kgd_mem_to_kfd_bo_list()
1050 ctx->kfd_bo.tv.bo = &bo->tbo; in reserve_bo_and_vm()
1113 ctx->kfd_bo.tv.bo = &bo->tbo; in reserve_bo_and_cond_vms()
1688 bo->tbo.sg = sg; in amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu()
1689 bo->tbo.ttm->sg = sg; in amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu()
1821 if (mem->bo->tbo.sg) { in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1823 kfree(mem->bo->tbo.sg); in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1897 bo_size = bo->tbo.base.size; in amdgpu_amdkfd_gpuvm_map_memory_to_gpu()
1966 if (!amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) && !bo->tbo.pin_count) in amdgpu_amdkfd_gpuvm_map_memory_to_gpu()
[all …]
A Damdgpu_gem.c125 *obj = &bo->tbo.base; in amdgpu_gem_object_create()
170 mm = amdgpu_ttm_tt_get_usermm(abo->tbo.ttm); in amdgpu_gem_object_open()
175 abo->tbo.base.resv != vm->root.bo->tbo.base.resv) in amdgpu_gem_object_open()
211 tv.bo = &bo->tbo; in amdgpu_gem_object_close()
249 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) in amdgpu_gem_object_mmap()
332 resv = vm->root.bo->tbo.base.resv; in amdgpu_gem_create_ioctl()
468 if (amdgpu_ttm_tt_get_usermm(robj->tbo.ttm) || in amdgpu_mode_dumb_mmap()
737 tv.bo = &abo->tbo; in amdgpu_gem_va_ioctl()
828 info.bo_size = robj->tbo.base.size; in amdgpu_gem_op_ioctl()
838 if (robj->tbo.base.import_attach && in amdgpu_gem_op_ioctl()
[all …]
A Damdgpu_vm.c292 if (bo->tbo.base.resv != vm->root.bo->tbo.base.resv) in amdgpu_vm_bo_base_init()
330 entry->tv.bo = &vm->root.bo->tbo; in amdgpu_vm_get_pd_bo()
994 resv = vm->root.bo->tbo.base.resv; in amdgpu_vm_bo_update()
998 resv = bo->tbo.base.resv; in amdgpu_vm_bo_update()
1007 mem = bo->tbo.resource; in amdgpu_vm_bo_update()
1029 vm->root.bo->tbo.base.resv)) in amdgpu_vm_bo_update()
1071 if (bo && bo->tbo.base.resv == vm->root.bo->tbo.base.resv) { in amdgpu_vm_bo_update()
1404 if (bo && bo->tbo.base.resv == vm->root.bo->tbo.base.resv && in amdgpu_vm_bo_insert_map()
1769 if (bo->tbo.base.resv == vm->root.bo->tbo.base.resv) in amdgpu_vm_bo_del()
1863 if (evicted && bo->tbo.base.resv == vm->root.bo->tbo.base.resv) { in amdgpu_vm_bo_invalidate()
[all …]
A Damdgpu_cs.c135 p->uf_entry.tv.bo = &bo->tbo; in amdgpu_cs_p1_user_fence()
147 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) { in amdgpu_cs_p1_user_fence()
769 .resv = bo->tbo.base.resv in amdgpu_cs_bo_validate()
774 if (bo->tbo.pin_count) in amdgpu_cs_bo_validate()
781 (!bo->tbo.base.dma_buf || in amdgpu_cs_bo_validate()
832 if (amdgpu_ttm_tt_is_userptr(bo->tbo.ttm) && in amdgpu_cs_list_validate()
840 amdgpu_ttm_tt_set_user_pages(bo->tbo.ttm, in amdgpu_cs_list_validate()
922 for (i = 0; i < bo->tbo.ttm->num_pages; i++) { in amdgpu_cs_parser_bos()
968 r = amdgpu_ttm_alloc_gart(&uf->tbo); in amdgpu_cs_parser_bos()
1198 struct dma_resv *resv = bo->tbo.base.resv; in amdgpu_cs_sync_rings()
[all …]
A Damdgpu_gtt_mgr.c114 struct ttm_buffer_object *tbo, in amdgpu_gtt_mgr_new() argument
119 uint32_t num_pages = PFN_UP(tbo->base.size); in amdgpu_gtt_mgr_new()
127 ttm_resource_init(tbo, place, &node->base); in amdgpu_gtt_mgr_new()
137 num_pages, tbo->page_alignment, in amdgpu_gtt_mgr_new()
A Damdgpu_vm_sdma.c40 r = amdgpu_ttm_alloc_gart(&table->bo.tbo); in amdgpu_vm_sdma_map_table()
45 r = amdgpu_ttm_alloc_gart(&table->shadow->tbo); in amdgpu_vm_sdma_map_table()
138 dma_resv_add_fence(p->vm->root.bo->tbo.base.resv, f, in amdgpu_vm_sdma_commit()
239 dma_resv_iter_begin(&cursor, bo->tbo.base.resv, DMA_RESV_USAGE_KERNEL); in amdgpu_vm_sdma_update()
A Damdgpu_ttm.c471 if (WARN_ON_ONCE(abo->tbo.pin_count > 0)) in amdgpu_bo_move()
653 struct ttm_tt *ttm = bo->tbo.ttm; in amdgpu_ttm_tt_get_user_pages()
808 struct ttm_buffer_object *tbo, in amdgpu_ttm_gart_bind() argument
811 struct amdgpu_bo *abo = ttm_to_amdgpu_bo(tbo); in amdgpu_ttm_gart_bind()
812 struct ttm_tt *ttm = tbo->ttm; in amdgpu_ttm_gart_bind()
972 if (!tbo->ttm) in amdgpu_ttm_recover_gart()
975 flags = amdgpu_ttm_tt_pte_flags(adev, tbo->ttm, tbo->resource); in amdgpu_ttm_recover_gart()
976 amdgpu_ttm_gart_bind(adev, tbo, flags); in amdgpu_ttm_recover_gart()
1139 if (!tbo->ttm) in amdgpu_ttm_tt_get_userptr()
1142 gtt = (void *)tbo->ttm; in amdgpu_ttm_tt_get_userptr()
[all …]
A Damdgpu_vm_pt.c419 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_vm_pt_clear()
426 r = ttm_bo_validate(&shadow->tbo, &shadow->placement, &ctx); in amdgpu_vm_pt_clear()
533 bp.resv = vm->root.bo->tbo.base.resv; in amdgpu_vm_pt_create()
546 WARN_ON(dma_resv_lock(bo->tbo.base.resv, in amdgpu_vm_pt_create()
554 bp.resv = bo->tbo.base.resv; in amdgpu_vm_pt_create()
560 dma_resv_unlock(bo->tbo.base.resv); in amdgpu_vm_pt_create()
637 ttm_bo_set_bulk_move(&shadow->tbo, NULL); in amdgpu_vm_pt_free()
640 ttm_bo_set_bulk_move(&entry->bo->tbo, NULL); in amdgpu_vm_pt_free()
A Damdgpu_vram_mgr.c250 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_vram_mgr_bo_visible_size()
251 struct ttm_resource *res = bo->tbo.resource; in amdgpu_vram_mgr_bo_visible_size()
384 struct ttm_buffer_object *tbo, in amdgpu_vram_mgr_new() argument
405 if (tbo->type != ttm_bo_type_kernel) in amdgpu_vram_mgr_new()
418 tbo->page_alignment); in amdgpu_vram_mgr_new()
425 ttm_resource_init(tbo, place, &vres->base); in amdgpu_vram_mgr_new()
446 if (tbo->page_alignment) in amdgpu_vram_mgr_new()
447 min_block_size = (u64)tbo->page_alignment << PAGE_SHIFT; in amdgpu_vram_mgr_new()
A Damdgpu_preempt_mgr.c60 struct ttm_buffer_object *tbo, in amdgpu_preempt_mgr_new() argument
68 ttm_resource_init(tbo, place, *res); in amdgpu_preempt_mgr_new()
/linux-6.3-rc2/drivers/gpu/drm/qxl/
A Dqxl_object.c40 bo = to_qxl_bo(tbo); in qxl_ttm_bo_destroy()
41 qdev = to_qxl(bo->tbo.base.dev); in qxl_ttm_bo_destroy()
65 if (qbo->tbo.base.size <= PAGE_SIZE) in qxl_ttm_placement_from_domain()
143 bo->tbo.priority = priority; in qxl_bo_create()
155 ttm_bo_pin(&bo->tbo); in qxl_bo_create()
156 ttm_bo_unreserve(&bo->tbo); in qxl_bo_create()
301 if (bo->tbo.pin_count) { in __qxl_bo_pin()
302 ttm_bo_pin(&bo->tbo); in __qxl_bo_pin()
308 ttm_bo_pin(&bo->tbo); in __qxl_bo_pin()
316 ttm_bo_unpin(&bo->tbo); in __qxl_bo_unpin()
[all …]
A Dqxl_gem.c35 struct ttm_buffer_object *tbo; in qxl_gem_object_free() local
41 tbo = &qobj->tbo; in qxl_gem_object_free()
42 ttm_bo_put(tbo); in qxl_gem_object_free()
66 *obj = &qbo->tbo.base; in qxl_gem_object_create()
A Dqxl_object.h34 r = ttm_bo_reserve(&bo->tbo, true, false, NULL); in qxl_bo_reserve()
37 struct drm_device *ddev = bo->tbo.base.dev; in qxl_bo_reserve()
48 ttm_bo_unreserve(&bo->tbo); in qxl_bo_unreserve()
53 return bo->tbo.base.size; in qxl_bo_size()
A Dqxl_debugfs.c64 dma_resv_iter_begin(&cursor, bo->tbo.base.resv, in qxl_debugfs_buffers_info()
73 (unsigned long)bo->tbo.base.size, in qxl_debugfs_buffers_info()
74 bo->tbo.pin_count, rel); in qxl_debugfs_buffers_info()
A Dqxl_release.c176 if (entry->tv.bo == &bo->tbo) in qxl_release_list_add()
185 entry->tv.bo = &bo->tbo; in qxl_release_list_add()
196 if (!bo->tbo.pin_count) { in qxl_release_validate_bo()
198 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in qxl_release_validate_bo()
203 ret = dma_resv_reserve_fences(bo->tbo.base.resv, 1); in qxl_release_validate_bo()
208 ret = qxl_bo_check_id(to_qxl(bo->tbo.base.dev), bo); in qxl_release_validate_bo()
A Dqxl_drv.h74 struct ttm_buffer_object tbo; member
95 #define gem_to_qxl_bo(gobj) container_of((gobj), struct qxl_bo, tbo.base)
96 #define to_qxl_bo(tobj) container_of((tobj), struct qxl_bo, tbo)
287 (bo->tbo.resource->mem_type == TTM_PL_VRAM) in qxl_bo_physical_address()
292 return slot->high_bits | ((bo->tbo.resource->start << PAGE_SHIFT) + offset); in qxl_bo_physical_address()
/linux-6.3-rc2/drivers/gpu/drm/radeon/
A Dradeon_object.c56 bo = container_of(tbo, struct radeon_bo, tbo); in radeon_ttm_bo_destroy()
64 drm_prime_gem_destroy(&bo->tbo.base, bo->tbo.sg); in radeon_ttm_bo_destroy()
235 r = ttm_bo_kmap(&bo->tbo, 0, PFN_UP(bo->tbo.base.size), &bo->kmap); in radeon_bo_kmap()
261 ttm_bo_get(&bo->tbo); in radeon_bo_ref()
271 tbo = &((*bo)->tbo); in radeon_bo_unref()
272 ttm_bo_put(tbo); in radeon_bo_unref()
285 if (bo->tbo.pin_count) { in radeon_bo_pin_restricted()
286 ttm_bo_pin(&bo->tbo); in radeon_bo_pin_restricted()
322 ttm_bo_pin(&bo->tbo); in radeon_bo_pin_restricted()
342 ttm_bo_unpin(&bo->tbo); in radeon_bo_unpin()
[all …]
A Dradeon_object.h68 r = ttm_bo_reserve(&bo->tbo, !no_intr, false, NULL); in radeon_bo_reserve()
79 ttm_bo_unreserve(&bo->tbo); in radeon_bo_unreserve()
96 rdev = radeon_get_rdev(bo->tbo.bdev); in radeon_bo_gpu_offset()
98 switch (bo->tbo.resource->mem_type) { in radeon_bo_gpu_offset()
107 return (bo->tbo.resource->start << PAGE_SHIFT) + start; in radeon_bo_gpu_offset()
112 return bo->tbo.base.size; in radeon_bo_size()
117 return bo->tbo.base.size / RADEON_GPU_PAGE_SIZE; in radeon_bo_ngpu_pages()
122 return (bo->tbo.page_alignment << PAGE_SHIFT) / RADEON_GPU_PAGE_SIZE; in radeon_bo_gpu_page_alignment()
133 return drm_vma_node_offset_addr(&bo->tbo.base.vma_node); in radeon_bo_mmap_offset()
A Dradeon_mn.c57 if (!bo->tbo.ttm || !radeon_ttm_tt_is_bound(bo->tbo.bdev, bo->tbo.ttm)) in radeon_mn_invalidate()
69 r = dma_resv_wait_timeout(bo->tbo.base.resv, DMA_RESV_USAGE_BOOKKEEP, in radeon_mn_invalidate()
75 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in radeon_mn_invalidate()
A Dradeon_prime.c41 return drm_prime_pages_to_sg(obj->dev, bo->tbo.ttm->pages, in radeon_gem_prime_get_sg_table()
42 bo->tbo.ttm->num_pages); in radeon_gem_prime_get_sg_table()
61 bo->tbo.base.funcs = &radeon_gem_object_funcs; in radeon_gem_prime_import_sg_table()
68 return &bo->tbo.base; in radeon_gem_prime_import_sg_table()
109 if (radeon_ttm_tt_has_userptr(bo->rdev, bo->tbo.ttm)) in radeon_gem_prime_export()
A Dradeon_gem.c133 *obj = &robj->tbo.base; in radeon_gem_object_create()
165 r = dma_resv_wait_timeout(robj->tbo.base.resv, in radeon_gem_set_domain()
271 struct radeon_device *rdev = radeon_get_rdev(bo->tbo.bdev); in radeon_gem_object_mmap()
273 if (radeon_ttm_tt_has_userptr(rdev, bo->tbo.ttm)) in radeon_gem_object_mmap()
427 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in radeon_gem_userptr_ioctl()
497 if (radeon_ttm_tt_has_userptr(robj->rdev, robj->tbo.ttm)) { in radeon_mode_dumb_mmap()
535 cur_placement = READ_ONCE(robj->tbo.resource->mem_type); in radeon_gem_busy_ioctl()
566 cur_placement = READ_ONCE(robj->tbo.resource->mem_type); in radeon_gem_wait_idle_ioctl()
637 tv.bo = &bo_va->bo->tbo; in radeon_gem_va_update_vm()
663 r = radeon_vm_bo_update(rdev, bo_va, bo_va->bo->tbo.resource); in radeon_gem_va_update_vm()
[all …]
A Dradeon_cs.c162 if (radeon_ttm_tt_has_userptr(p->rdev, p->relocs[i].robj->tbo.ttm)) { in radeon_cs_parser_relocs()
185 p->relocs[i].tv.bo = &p->relocs[i].robj->tbo; in radeon_cs_parser_relocs()
259 resv = reloc->robj->tbo.base.resv; in radeon_cs_sync_rings()
403 if (la->robj->tbo.base.size > lb->robj->tbo.base.size) in cmp_size_smaller_first()
405 if (la->robj->tbo.base.size < lb->robj->tbo.base.size) in cmp_size_smaller_first()
450 drm_gem_object_put(&bo->tbo.base); in radeon_cs_parser_fini()
522 rdev->ring_tmp_bo.bo->tbo.resource); in radeon_bo_vm_update_pte()
536 r = radeon_vm_bo_update(rdev, bo_va, bo->tbo.resource); in radeon_bo_vm_update_pte()
542 r = dma_resv_reserve_fences(bo->tbo.base.resv, 1); in radeon_bo_vm_update_pte()

Completed in 46 milliseconds

123