Lines Matching refs:ttm
348 if (WARN(amdgpu_ttm_tt_get_usermm(bo->tbo.ttm), in amdgpu_amdkfd_bo_validate()
461 struct ttm_tt *src_ttm = mem->bo->tbo.ttm; in kfd_mem_dmamap_userptr()
462 struct ttm_tt *ttm = bo->tbo.ttm; in kfd_mem_dmamap_userptr() local
465 if (WARN_ON(ttm->num_pages != src_ttm->num_pages)) in kfd_mem_dmamap_userptr()
468 ttm->sg = kmalloc(sizeof(*ttm->sg), GFP_KERNEL); in kfd_mem_dmamap_userptr()
469 if (unlikely(!ttm->sg)) in kfd_mem_dmamap_userptr()
473 ret = sg_alloc_table_from_pages(ttm->sg, src_ttm->pages, in kfd_mem_dmamap_userptr()
474 ttm->num_pages, 0, in kfd_mem_dmamap_userptr()
475 (u64)ttm->num_pages << PAGE_SHIFT, in kfd_mem_dmamap_userptr()
480 ret = dma_map_sgtable(adev->dev, ttm->sg, direction, 0); in kfd_mem_dmamap_userptr()
484 drm_prime_sg_to_dma_addr_array(ttm->sg, ttm->dma_address, in kfd_mem_dmamap_userptr()
485 ttm->num_pages); in kfd_mem_dmamap_userptr()
495 dma_unmap_sgtable(adev->dev, ttm->sg, direction, 0); in kfd_mem_dmamap_userptr()
498 sg_free_table(ttm->sg); in kfd_mem_dmamap_userptr()
500 kfree(ttm->sg); in kfd_mem_dmamap_userptr()
501 ttm->sg = NULL; in kfd_mem_dmamap_userptr()
548 struct ttm_tt *ttm = bo->tbo.ttm; in kfd_mem_dmamap_sg_bo() local
556 if (unlikely(ttm->sg)) { in kfd_mem_dmamap_sg_bo()
573 ttm->sg = create_sg_table(dma_addr, mem->bo->tbo.sg->sgl->length); in kfd_mem_dmamap_sg_bo()
574 if (unlikely(!ttm->sg)) { in kfd_mem_dmamap_sg_bo()
587 sg_free_table(ttm->sg); in kfd_mem_dmamap_sg_bo()
588 kfree(ttm->sg); in kfd_mem_dmamap_sg_bo()
589 ttm->sg = NULL; in kfd_mem_dmamap_sg_bo()
625 struct ttm_tt *ttm = bo->tbo.ttm; in kfd_mem_dmaunmap_userptr() local
627 if (unlikely(!ttm->sg)) in kfd_mem_dmaunmap_userptr()
633 dma_unmap_sgtable(adev->dev, ttm->sg, direction, 0); in kfd_mem_dmaunmap_userptr()
634 sg_free_table(ttm->sg); in kfd_mem_dmaunmap_userptr()
635 kfree(ttm->sg); in kfd_mem_dmaunmap_userptr()
636 ttm->sg = NULL; in kfd_mem_dmaunmap_userptr()
672 struct ttm_tt *ttm = bo->tbo.ttm; in kfd_mem_dmaunmap_sg_bo() local
675 if (unlikely(!ttm->sg)) { in kfd_mem_dmaunmap_sg_bo()
685 dma_unmap_resource(adev->dev, ttm->sg->sgl->dma_address, in kfd_mem_dmaunmap_sg_bo()
686 ttm->sg->sgl->length, dir, DMA_ATTR_SKIP_CPU_SYNC); in kfd_mem_dmaunmap_sg_bo()
687 sg_free_table(ttm->sg); in kfd_mem_dmaunmap_sg_bo()
688 kfree(ttm->sg); in kfd_mem_dmaunmap_sg_bo()
689 ttm->sg = NULL; in kfd_mem_dmaunmap_sg_bo()
800 (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm) && adev->ram_is_direct_mapped) || in kfd_mem_attach()
814 } else if (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm)) { in kfd_mem_attach()
975 ret = amdgpu_ttm_tt_get_user_pages(bo, bo->tbo.ttm->pages, &range); in init_user_pages()
993 amdgpu_ttm_tt_get_user_pages_done(bo->tbo.ttm, range); in init_user_pages()
1689 bo->tbo.ttm->sg = sg; in amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu()
1789 if (amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm)) { in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1792 amdgpu_ttm_tt_discard_user_pages(mem->bo->tbo.ttm, mem->range); in amdgpu_amdkfd_gpuvm_free_memory_of_gpu()
1888 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) { in amdgpu_amdkfd_gpuvm_map_memory_to_gpu()
1919 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) && in amdgpu_amdkfd_gpuvm_map_memory_to_gpu()
1928 !amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) { 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()
2031 !amdgpu_ttm_tt_get_usermm(mem->bo->tbo.ttm) && in amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu()
2127 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm)) { in amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel()
2344 amdgpu_ttm_tt_discard_user_pages(bo->tbo.ttm, mem->range); in update_invalid_user_pages()
2369 ret = amdgpu_ttm_tt_get_user_pages(bo, bo->tbo.ttm->pages, in update_invalid_user_pages()
2470 if (bo->tbo.ttm->pages[0]) { in validate_invalid_user_pages()
2529 mem->bo->tbo.ttm, mem->range); in confirm_valid_user_pages_locked()