Lines Matching refs:tbo

295 	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);  in amdgpu_amdkfd_release_notify()
330 ret = amdgpu_gem_object_create(adev, mem->bo->tbo.base.size, 1, in create_dmamap_sg_bo()
332 ttm_bo_type_sg, mem->bo->tbo.base.resv, &gem_obj, 0); in create_dmamap_sg_bo()
367 dma_resv_replace_fences(bo->tbo.base.resv, ef->base.context, in amdgpu_amdkfd_remove_eviction_fence()
384 struct dma_resv *resv = &bo->tbo.base._resv; in amdgpu_amdkfd_remove_all_eviction_fences()
407 if (WARN(amdgpu_ttm_tt_get_usermm(bo->tbo.ttm), in amdgpu_amdkfd_bo_validate()
412 if (bo->tbo.pin_count) in amdgpu_amdkfd_bo_validate()
417 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_amdkfd_bo_validate()
440 ret = dma_resv_reserve_fences(bo->tbo.base.resv, 1); in amdgpu_amdkfd_bo_validate_and_fence()
444 dma_resv_add_fence(bo->tbo.base.resv, fence, in amdgpu_amdkfd_bo_validate_and_fence()
469 struct amdgpu_device *adev = amdgpu_ttm_adev(pd->tbo.bdev); in vm_validate_pt_pd_bos()
487 struct amdgpu_device *adev = amdgpu_ttm_adev(pd->tbo.bdev); in vm_update_pds()
552 struct ttm_tt *src_ttm = mem->bo->tbo.ttm; in kfd_mem_dmamap_userptr()
553 struct ttm_tt *ttm = bo->tbo.ttm; in kfd_mem_dmamap_userptr()
576 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in kfd_mem_dmamap_userptr()
600 return ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in kfd_mem_dmamap_dmabuf()
636 struct ttm_tt *ttm = bo->tbo.ttm; in kfd_mem_dmamap_sg_bo()
651 dma_addr = mem->bo->tbo.sg->sgl->dma_address; in kfd_mem_dmamap_sg_bo()
652 pr_debug("%d BO size: %d\n", mmio, mem->bo->tbo.sg->sgl->length); in kfd_mem_dmamap_sg_bo()
655 mem->bo->tbo.sg->sgl->length, dir, DMA_ATTR_SKIP_CPU_SYNC); in kfd_mem_dmamap_sg_bo()
661 ttm->sg = create_sg_table(dma_addr, mem->bo->tbo.sg->sgl->length); in kfd_mem_dmamap_sg_bo()
668 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in kfd_mem_dmamap_sg_bo()
679 dma_unmap_resource(adev->dev, dma_addr, mem->bo->tbo.sg->sgl->length, in kfd_mem_dmamap_sg_bo()
713 struct ttm_tt *ttm = bo->tbo.ttm; in kfd_mem_dmaunmap_userptr()
719 (void)ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in kfd_mem_dmaunmap_userptr()
759 struct ttm_tt *ttm = bo->tbo.ttm; in kfd_mem_dmaunmap_sg_bo()
768 (void)ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in kfd_mem_dmaunmap_sg_bo()
777 bo->tbo.sg = NULL; in kfd_mem_dmaunmap_sg_bo()
807 bo_adev = amdgpu_ttm_adev(mem->bo->tbo.bdev); in kfd_mem_export_dmabuf()
857 struct amdgpu_device *bo_adev = amdgpu_ttm_adev(mem->bo->tbo.bdev); in kfd_mem_attach()
858 unsigned long bo_size = mem->bo->tbo.base.size; in kfd_mem_attach()
900 (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm) && reuse_dmamap(adev, bo_adev)) || in kfd_mem_attach()
909 drm_gem_object_get(&bo[i]->tbo.base); in kfd_mem_attach()
914 drm_gem_object_get(&bo[i]->tbo.base); in kfd_mem_attach()
915 } else if (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm)) { in kfd_mem_attach()
922 } else if (mem->bo->tbo.type == ttm_bo_type_sg) { in kfd_mem_attach()
985 drm_gem_object_put(&bo[i]->tbo.base); in kfd_mem_attach()
999 drm_gem_object_put(&bo->tbo.base); in kfd_mem_detach()
1048 ret = amdgpu_ttm_tt_set_userptr(&bo->tbo, user_addr, 0); in init_user_pages()
1075 ret = amdgpu_ttm_tt_get_user_pages(bo, bo->tbo.ttm->pages, &range); in init_user_pages()
1090 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in init_user_pages()
1096 amdgpu_ttm_tt_get_user_pages_done(bo->tbo.ttm, range); in init_user_pages()
1149 ret = drm_exec_prepare_obj(&ctx->exec, &bo->tbo.base, 1); in reserve_bo_and_vm()
1199 ret = drm_exec_prepare_obj(&ctx->exec, &bo->tbo.base, 1); in reserve_bo_and_cond_vms()
1339 ret = amdgpu_sync_resv(NULL, sync, pd->tbo.base.resv, in process_sync_pds_resv()
1415 ret = dma_resv_reserve_fences(vm->root.bo->tbo.base.resv, 1); in init_kfd_vm()
1418 dma_resv_add_fence(vm->root.bo->tbo.base.resv, in init_kfd_vm()
1476 if (!(bo->tbo.resource->placement & TTM_PL_FLAG_CONTIGUOUS)) { in amdgpu_amdkfd_gpuvm_pin_bo()
1480 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_amdkfd_gpuvm_pin_bo()
1482 pr_debug("validate bo 0x%p to GTT failed %d\n", &bo->tbo, ret); in amdgpu_amdkfd_gpuvm_pin_bo()
1579 struct amdgpu_device *adev = amdgpu_ttm_adev(pd->tbo.bdev); in amdgpu_amdkfd_gpuvm_get_process_page_dir()
1779 bo->tbo.sg = sg; in amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu()
1780 bo->tbo.ttm->sg = sg; in amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu()
1856 unsigned long bo_size = mem->bo->tbo.base.size; in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1892 if (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm)) { in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1895 amdgpu_ttm_tt_discard_user_pages(mem->bo->tbo.ttm, mem->range); in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1922 if (mem->bo->tbo.sg) { in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1923 sg_free_table(mem->bo->tbo.sg); in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1924 kfree(mem->bo->tbo.sg); in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1942 drm_vma_node_revoke(&mem->bo->tbo.base.vma_node, drm_priv); in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1954 drm_gem_object_put(&mem->bo->tbo.base); in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1995 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) { in amdgpu_amdkfd_gpuvm_map_memory_to_gpu()
2004 bo_size = bo->tbo.base.size; in amdgpu_amdkfd_gpuvm_map_memory_to_gpu()
2026 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) && in amdgpu_amdkfd_gpuvm_map_memory_to_gpu()
2027 bo->tbo.resource->mem_type == TTM_PL_SYSTEM) in amdgpu_amdkfd_gpuvm_map_memory_to_gpu()
2089 if (entry->bo_va->base.bo->tbo.ttm && in amdgpu_amdkfd_gpuvm_dmaunmap_mem()
2090 !entry->bo_va->base.bo->tbo.ttm->sg) in amdgpu_amdkfd_gpuvm_dmaunmap_mem()
2107 unsigned long bo_size = mem->bo->tbo.base.size; in amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu()
2198 ret = amdgpu_ttm_alloc_gart(&bo->tbo); in amdgpu_amdkfd_map_gtt_bo_to_gart()
2241 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) { in amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel()
2522 amdgpu_ttm_tt_discard_user_pages(bo->tbo.ttm, mem->range); in update_invalid_user_pages()
2533 if (bo->tbo.resource->mem_type != TTM_PL_SYSTEM) { in update_invalid_user_pages()
2537 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in update_invalid_user_pages()
2547 ret = amdgpu_ttm_tt_get_user_pages(bo, bo->tbo.ttm->pages, in update_invalid_user_pages()
2620 gobj = &mem->bo->tbo.base; in validate_invalid_user_pages()
2641 if (bo->tbo.ttm->pages[0]) { in validate_invalid_user_pages()
2643 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in validate_invalid_user_pages()
2704 mem->bo->tbo.ttm, mem->range); in confirm_valid_user_pages_locked()
2880 gobj = &mem->bo->tbo.base; in amdgpu_amdkfd_gpuvm_restore_process_bos()
2914 dma_resv_for_each_fence(&cursor, bo->tbo.base.resv, in amdgpu_amdkfd_gpuvm_restore_process_bos()
2958 peer_vm->root.bo->tbo.bdev); in amdgpu_amdkfd_gpuvm_restore_process_bos()
3018 if (mem->bo->tbo.pin_count) in amdgpu_amdkfd_gpuvm_restore_process_bos()
3021 dma_resv_add_fence(mem->bo->tbo.base.resv, in amdgpu_amdkfd_gpuvm_restore_process_bos()
3030 dma_resv_add_fence(bo->tbo.base.resv, in amdgpu_amdkfd_gpuvm_restore_process_bos()
3082 ret = dma_resv_reserve_fences(gws_bo->tbo.base.resv, 1); in amdgpu_amdkfd_add_gws_to_process()
3085 dma_resv_add_fence(gws_bo->tbo.base.resv, in amdgpu_amdkfd_add_gws_to_process()