Lines Matching refs:gtt
664 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_get_user_pages() local
665 unsigned long start = gtt->userptr; in amdgpu_ttm_tt_get_user_pages()
678 if (WARN_ON(gtt->range)) in amdgpu_ttm_tt_get_user_pages()
690 if (unlikely((gtt->userflags & AMDGPU_GEM_USERPTR_ANONONLY) && in amdgpu_ttm_tt_get_user_pages()
698 ttm->num_pages, >t->range, readonly, in amdgpu_ttm_tt_get_user_pages()
718 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_get_user_pages_done() local
721 if (!gtt || !gtt->userptr) in amdgpu_ttm_tt_get_user_pages_done()
725 gtt->userptr, ttm->num_pages); in amdgpu_ttm_tt_get_user_pages_done()
727 WARN_ONCE(!gtt->range || !gtt->range->hmm_pfns, in amdgpu_ttm_tt_get_user_pages_done()
730 if (gtt->range) { in amdgpu_ttm_tt_get_user_pages_done()
735 r = amdgpu_hmm_range_get_pages_done(gtt->range); in amdgpu_ttm_tt_get_user_pages_done()
736 gtt->range = NULL; in amdgpu_ttm_tt_get_user_pages_done()
767 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_pin_userptr() local
768 int write = !(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_pin_userptr()
786 drm_prime_sg_to_dma_addr_array(ttm->sg, gtt->ttm.dma_address, in amdgpu_ttm_tt_pin_userptr()
804 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_unpin_userptr() local
805 int write = !(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_unpin_userptr()
818 if (gtt->range) { in amdgpu_ttm_tt_unpin_userptr()
823 hmm_pfn_to_page(gtt->range->hmm_pfns[i])) in amdgpu_ttm_tt_unpin_userptr()
838 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_gart_bind() local
847 r = amdgpu_gart_bind(adev, gtt->offset, page_idx, in amdgpu_ttm_gart_bind()
848 gtt->ttm.dma_address, flags); in amdgpu_ttm_gart_bind()
860 gtt->offset + (page_idx << PAGE_SHIFT), in amdgpu_ttm_gart_bind()
862 &(gtt->ttm.dma_address[page_idx]), flags); in amdgpu_ttm_gart_bind()
864 r = amdgpu_gart_bind(adev, gtt->offset, ttm->num_pages, in amdgpu_ttm_gart_bind()
865 gtt->ttm.dma_address, flags); in amdgpu_ttm_gart_bind()
871 ttm->num_pages, gtt->offset); in amdgpu_ttm_gart_bind()
887 struct amdgpu_ttm_tt *gtt = (void*)ttm; in amdgpu_ttm_backend_bind() local
894 if (gtt->bound) in amdgpu_ttm_backend_bind()
897 if (gtt->userptr) { in amdgpu_ttm_backend_bind()
908 attach = gtt->gobj->import_attach; in amdgpu_ttm_backend_bind()
916 drm_prime_sg_to_dma_addr_array(ttm->sg, gtt->ttm.dma_address, in amdgpu_ttm_backend_bind()
932 gtt->offset = AMDGPU_BO_INVALID_OFFSET; in amdgpu_ttm_backend_bind()
940 gtt->offset = (u64)bo_mem->start << PAGE_SHIFT; in amdgpu_ttm_backend_bind()
941 r = amdgpu_gart_bind(adev, gtt->offset, ttm->num_pages, in amdgpu_ttm_backend_bind()
942 gtt->ttm.dma_address, flags); in amdgpu_ttm_backend_bind()
946 ttm->num_pages, gtt->offset); in amdgpu_ttm_backend_bind()
947 gtt->bound = true; in amdgpu_ttm_backend_bind()
963 struct amdgpu_ttm_tt *gtt = (void *)bo->ttm; in amdgpu_ttm_alloc_gart() local
997 gtt->offset = (u64)tmp->start << PAGE_SHIFT; in amdgpu_ttm_alloc_gart()
1042 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_backend_unbind() local
1046 if (gtt->userptr) { in amdgpu_ttm_backend_unbind()
1048 } else if (ttm->sg && gtt->gobj->import_attach) { in amdgpu_ttm_backend_unbind()
1051 attach = gtt->gobj->import_attach; in amdgpu_ttm_backend_unbind()
1056 if (!gtt->bound) in amdgpu_ttm_backend_unbind()
1059 if (gtt->offset == AMDGPU_BO_INVALID_OFFSET) in amdgpu_ttm_backend_unbind()
1063 r = amdgpu_gart_unbind(adev, gtt->offset, ttm->num_pages); in amdgpu_ttm_backend_unbind()
1066 gtt->ttm.num_pages, gtt->offset); in amdgpu_ttm_backend_unbind()
1067 gtt->bound = false; in amdgpu_ttm_backend_unbind()
1073 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_backend_destroy() local
1075 if (gtt->usertask) in amdgpu_ttm_backend_destroy()
1076 put_task_struct(gtt->usertask); in amdgpu_ttm_backend_destroy()
1078 ttm_tt_fini(>t->ttm); in amdgpu_ttm_backend_destroy()
1079 kfree(gtt); in amdgpu_ttm_backend_destroy()
1094 struct amdgpu_ttm_tt *gtt; in amdgpu_ttm_tt_create() local
1097 gtt = kzalloc(sizeof(struct amdgpu_ttm_tt), GFP_KERNEL); in amdgpu_ttm_tt_create()
1098 if (gtt == NULL) { in amdgpu_ttm_tt_create()
1101 gtt->gobj = &bo->base; in amdgpu_ttm_tt_create()
1109 if (ttm_sg_tt_init(>t->ttm, bo, page_flags, caching)) { in amdgpu_ttm_tt_create()
1110 kfree(gtt); in amdgpu_ttm_tt_create()
1113 return >t->ttm; in amdgpu_ttm_tt_create()
1127 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_populate() local
1132 if (gtt->userptr) { in amdgpu_ttm_tt_populate()
1161 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_unpopulate() local
1167 if (gtt->userptr) { in amdgpu_ttm_tt_unpopulate()
1198 struct amdgpu_ttm_tt *gtt; in amdgpu_ttm_tt_set_userptr() local
1210 gtt = (void *)bo->ttm; in amdgpu_ttm_tt_set_userptr()
1211 gtt->userptr = addr; in amdgpu_ttm_tt_set_userptr()
1212 gtt->userflags = flags; in amdgpu_ttm_tt_set_userptr()
1214 if (gtt->usertask) in amdgpu_ttm_tt_set_userptr()
1215 put_task_struct(gtt->usertask); in amdgpu_ttm_tt_set_userptr()
1216 gtt->usertask = current->group_leader; in amdgpu_ttm_tt_set_userptr()
1217 get_task_struct(gtt->usertask); in amdgpu_ttm_tt_set_userptr()
1227 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_get_usermm() local
1229 if (gtt == NULL) in amdgpu_ttm_tt_get_usermm()
1232 if (gtt->usertask == NULL) in amdgpu_ttm_tt_get_usermm()
1235 return gtt->usertask->mm; in amdgpu_ttm_tt_get_usermm()
1246 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_affect_userptr() local
1249 if (gtt == NULL || !gtt->userptr) in amdgpu_ttm_tt_affect_userptr()
1255 size = (unsigned long)gtt->ttm.num_pages * PAGE_SIZE; in amdgpu_ttm_tt_affect_userptr()
1256 if (gtt->userptr > end || gtt->userptr + size <= start) in amdgpu_ttm_tt_affect_userptr()
1260 *userptr = gtt->userptr; in amdgpu_ttm_tt_affect_userptr()
1269 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_is_userptr() local
1271 if (gtt == NULL || !gtt->userptr) in amdgpu_ttm_tt_is_userptr()
1282 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_is_readonly() local
1284 if (gtt == NULL) in amdgpu_ttm_tt_is_readonly()
1287 return !!(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_is_readonly()