Lines Matching refs:gtt
494 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_pin_userptr() local
498 int write = !(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_pin_userptr()
502 if (current->mm != gtt->usermm) in amdgpu_ttm_tt_pin_userptr()
505 if (gtt->userflags & AMDGPU_GEM_USERPTR_ANONONLY) { in amdgpu_ttm_tt_pin_userptr()
508 unsigned long end = gtt->userptr + ttm->num_pages * PAGE_SIZE; in amdgpu_ttm_tt_pin_userptr()
511 vma = find_vma(gtt->usermm, gtt->userptr); in amdgpu_ttm_tt_pin_userptr()
518 uint64_t userptr = gtt->userptr + pinned * PAGE_SIZE; in amdgpu_ttm_tt_pin_userptr()
542 gtt->ttm.dma_address, ttm->num_pages); in amdgpu_ttm_tt_pin_userptr()
557 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_unpin_userptr() local
560 int write = !(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_unpin_userptr()
573 if (!(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY)) in amdgpu_ttm_tt_unpin_userptr()
586 struct amdgpu_ttm_tt *gtt = (void*)ttm; in amdgpu_ttm_backend_bind() local
587 uint32_t flags = amdgpu_ttm_tt_pte_flags(gtt->adev, ttm, bo_mem); in amdgpu_ttm_backend_bind()
590 if (gtt->userptr) { in amdgpu_ttm_backend_bind()
597 gtt->offset = (unsigned long)(bo_mem->start << PAGE_SHIFT); in amdgpu_ttm_backend_bind()
608 r = amdgpu_gart_bind(gtt->adev, gtt->offset, ttm->num_pages, in amdgpu_ttm_backend_bind()
609 ttm->pages, gtt->ttm.dma_address, flags); in amdgpu_ttm_backend_bind()
613 ttm->num_pages, (unsigned)gtt->offset); in amdgpu_ttm_backend_bind()
621 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_backend_unbind() local
624 if (gtt->adev->gart.ready) in amdgpu_ttm_backend_unbind()
625 amdgpu_gart_unbind(gtt->adev, gtt->offset, ttm->num_pages); in amdgpu_ttm_backend_unbind()
627 if (gtt->userptr) in amdgpu_ttm_backend_unbind()
635 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_backend_destroy() local
637 ttm_dma_tt_fini(>t->ttm); in amdgpu_ttm_backend_destroy()
638 kfree(gtt); in amdgpu_ttm_backend_destroy()
652 struct amdgpu_ttm_tt *gtt; in amdgpu_ttm_tt_create() local
656 gtt = kzalloc(sizeof(struct amdgpu_ttm_tt), GFP_KERNEL); in amdgpu_ttm_tt_create()
657 if (gtt == NULL) { in amdgpu_ttm_tt_create()
660 gtt->ttm.ttm.func = &amdgpu_backend_func; in amdgpu_ttm_tt_create()
661 gtt->adev = adev; in amdgpu_ttm_tt_create()
662 if (ttm_dma_tt_init(>t->ttm, bdev, size, page_flags, dummy_read_page)) { in amdgpu_ttm_tt_create()
663 kfree(gtt); in amdgpu_ttm_tt_create()
666 return >t->ttm.ttm; in amdgpu_ttm_tt_create()
672 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_populate() local
680 if (gtt && gtt->userptr) { in amdgpu_ttm_tt_populate()
692 gtt->ttm.dma_address, ttm->num_pages); in amdgpu_ttm_tt_populate()
701 return ttm_dma_populate(>t->ttm, adev->dev); in amdgpu_ttm_tt_populate()
711 gtt->ttm.dma_address[i] = pci_map_page(adev->pdev, ttm->pages[i], in amdgpu_ttm_tt_populate()
714 if (pci_dma_mapping_error(adev->pdev, gtt->ttm.dma_address[i])) { in amdgpu_ttm_tt_populate()
716 pci_unmap_page(adev->pdev, gtt->ttm.dma_address[i], in amdgpu_ttm_tt_populate()
718 gtt->ttm.dma_address[i] = 0; in amdgpu_ttm_tt_populate()
730 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_unpopulate() local
734 if (gtt && gtt->userptr) { in amdgpu_ttm_tt_unpopulate()
747 ttm_dma_unpopulate(>t->ttm, adev->dev); in amdgpu_ttm_tt_unpopulate()
753 if (gtt->ttm.dma_address[i]) { in amdgpu_ttm_tt_unpopulate()
754 pci_unmap_page(adev->pdev, gtt->ttm.dma_address[i], in amdgpu_ttm_tt_unpopulate()
765 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_set_userptr() local
767 if (gtt == NULL) in amdgpu_ttm_tt_set_userptr()
770 gtt->userptr = addr; in amdgpu_ttm_tt_set_userptr()
771 gtt->usermm = current->mm; in amdgpu_ttm_tt_set_userptr()
772 gtt->userflags = flags; in amdgpu_ttm_tt_set_userptr()
778 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_has_userptr() local
780 if (gtt == NULL) in amdgpu_ttm_tt_has_userptr()
783 return !!gtt->userptr; in amdgpu_ttm_tt_has_userptr()
789 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_affect_userptr() local
792 if (gtt == NULL) in amdgpu_ttm_tt_affect_userptr()
795 if (gtt->ttm.ttm.state != tt_bound || !gtt->userptr) in amdgpu_ttm_tt_affect_userptr()
798 size = (unsigned long)gtt->ttm.ttm.num_pages * PAGE_SIZE; in amdgpu_ttm_tt_affect_userptr()
799 if (gtt->userptr > end || gtt->userptr + size <= start) in amdgpu_ttm_tt_affect_userptr()
807 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_is_readonly() local
809 if (gtt == NULL) in amdgpu_ttm_tt_is_readonly()
812 return !!(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_is_readonly()
1228 adev->mman.gtt = ent; in amdgpu_ttm_debugfs_init()
1251 debugfs_remove(adev->mman.gtt); in amdgpu_ttm_debugfs_fini()
1252 adev->mman.gtt = NULL; in amdgpu_ttm_debugfs_fini()