Lines Matching refs:gtt
661 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_get_user_pages() local
662 unsigned long start = gtt->userptr; in amdgpu_ttm_tt_get_user_pages()
675 if (WARN_ON(gtt->range)) in amdgpu_ttm_tt_get_user_pages()
687 if (unlikely((gtt->userflags & AMDGPU_GEM_USERPTR_ANONONLY) && in amdgpu_ttm_tt_get_user_pages()
695 ttm->num_pages, >t->range, readonly, in amdgpu_ttm_tt_get_user_pages()
712 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_get_user_pages_done() local
715 if (!gtt || !gtt->userptr) in amdgpu_ttm_tt_get_user_pages_done()
719 gtt->userptr, ttm->num_pages); in amdgpu_ttm_tt_get_user_pages_done()
721 WARN_ONCE(!gtt->range || !gtt->range->hmm_pfns, in amdgpu_ttm_tt_get_user_pages_done()
724 if (gtt->range) { in amdgpu_ttm_tt_get_user_pages_done()
729 r = amdgpu_hmm_range_get_pages_done(gtt->range); in amdgpu_ttm_tt_get_user_pages_done()
730 gtt->range = NULL; in amdgpu_ttm_tt_get_user_pages_done()
761 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_pin_userptr() local
762 int write = !(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_pin_userptr()
780 drm_prime_sg_to_dma_addr_array(ttm->sg, gtt->ttm.dma_address, in amdgpu_ttm_tt_pin_userptr()
798 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_unpin_userptr() local
799 int write = !(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_unpin_userptr()
812 if (gtt->range) { in amdgpu_ttm_tt_unpin_userptr()
817 hmm_pfn_to_page(gtt->range->hmm_pfns[i])) in amdgpu_ttm_tt_unpin_userptr()
832 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_gart_bind() local
841 r = amdgpu_gart_bind(adev, gtt->offset, page_idx, in amdgpu_ttm_gart_bind()
842 gtt->ttm.dma_address, flags); in amdgpu_ttm_gart_bind()
854 gtt->offset + (page_idx << PAGE_SHIFT), in amdgpu_ttm_gart_bind()
856 &(gtt->ttm.dma_address[page_idx]), flags); in amdgpu_ttm_gart_bind()
858 r = amdgpu_gart_bind(adev, gtt->offset, ttm->num_pages, in amdgpu_ttm_gart_bind()
859 gtt->ttm.dma_address, flags); in amdgpu_ttm_gart_bind()
865 ttm->num_pages, gtt->offset); in amdgpu_ttm_gart_bind()
881 struct amdgpu_ttm_tt *gtt = (void*)ttm; in amdgpu_ttm_backend_bind() local
888 if (gtt->bound) in amdgpu_ttm_backend_bind()
891 if (gtt->userptr) { in amdgpu_ttm_backend_bind()
902 attach = gtt->gobj->import_attach; in amdgpu_ttm_backend_bind()
910 drm_prime_sg_to_dma_addr_array(ttm->sg, gtt->ttm.dma_address, in amdgpu_ttm_backend_bind()
926 gtt->offset = AMDGPU_BO_INVALID_OFFSET; in amdgpu_ttm_backend_bind()
934 gtt->offset = (u64)bo_mem->start << PAGE_SHIFT; in amdgpu_ttm_backend_bind()
935 r = amdgpu_gart_bind(adev, gtt->offset, ttm->num_pages, in amdgpu_ttm_backend_bind()
936 gtt->ttm.dma_address, flags); in amdgpu_ttm_backend_bind()
940 ttm->num_pages, gtt->offset); in amdgpu_ttm_backend_bind()
941 gtt->bound = true; in amdgpu_ttm_backend_bind()
957 struct amdgpu_ttm_tt *gtt = (void *)bo->ttm; in amdgpu_ttm_alloc_gart() local
991 gtt->offset = (u64)tmp->start << PAGE_SHIFT; in amdgpu_ttm_alloc_gart()
1036 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_backend_unbind() local
1040 if (gtt->userptr) { in amdgpu_ttm_backend_unbind()
1042 } else if (ttm->sg && gtt->gobj->import_attach) { in amdgpu_ttm_backend_unbind()
1045 attach = gtt->gobj->import_attach; in amdgpu_ttm_backend_unbind()
1050 if (!gtt->bound) in amdgpu_ttm_backend_unbind()
1053 if (gtt->offset == AMDGPU_BO_INVALID_OFFSET) in amdgpu_ttm_backend_unbind()
1057 r = amdgpu_gart_unbind(adev, gtt->offset, ttm->num_pages); in amdgpu_ttm_backend_unbind()
1060 gtt->ttm.num_pages, gtt->offset); in amdgpu_ttm_backend_unbind()
1061 gtt->bound = false; in amdgpu_ttm_backend_unbind()
1067 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_backend_destroy() local
1071 if (gtt->usertask) in amdgpu_ttm_backend_destroy()
1072 put_task_struct(gtt->usertask); in amdgpu_ttm_backend_destroy()
1074 ttm_tt_fini(>t->ttm); in amdgpu_ttm_backend_destroy()
1075 kfree(gtt); in amdgpu_ttm_backend_destroy()
1090 struct amdgpu_ttm_tt *gtt; in amdgpu_ttm_tt_create() local
1093 gtt = kzalloc(sizeof(struct amdgpu_ttm_tt), GFP_KERNEL); in amdgpu_ttm_tt_create()
1094 if (gtt == NULL) { in amdgpu_ttm_tt_create()
1097 gtt->gobj = &bo->base; in amdgpu_ttm_tt_create()
1105 if (ttm_sg_tt_init(>t->ttm, bo, page_flags, caching)) { in amdgpu_ttm_tt_create()
1106 kfree(gtt); in amdgpu_ttm_tt_create()
1109 return >t->ttm; in amdgpu_ttm_tt_create()
1123 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_populate() local
1126 if (gtt->userptr) { in amdgpu_ttm_tt_populate()
1148 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_unpopulate() local
1151 if (gtt->userptr) { in amdgpu_ttm_tt_unpopulate()
1179 struct amdgpu_ttm_tt *gtt; in amdgpu_ttm_tt_set_userptr() local
1191 gtt = (void *)bo->ttm; in amdgpu_ttm_tt_set_userptr()
1192 gtt->userptr = addr; in amdgpu_ttm_tt_set_userptr()
1193 gtt->userflags = flags; in amdgpu_ttm_tt_set_userptr()
1195 if (gtt->usertask) in amdgpu_ttm_tt_set_userptr()
1196 put_task_struct(gtt->usertask); in amdgpu_ttm_tt_set_userptr()
1197 gtt->usertask = current->group_leader; in amdgpu_ttm_tt_set_userptr()
1198 get_task_struct(gtt->usertask); in amdgpu_ttm_tt_set_userptr()
1208 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_get_usermm() local
1210 if (gtt == NULL) in amdgpu_ttm_tt_get_usermm()
1213 if (gtt->usertask == NULL) in amdgpu_ttm_tt_get_usermm()
1216 return gtt->usertask->mm; in amdgpu_ttm_tt_get_usermm()
1227 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_affect_userptr() local
1230 if (gtt == NULL || !gtt->userptr) in amdgpu_ttm_tt_affect_userptr()
1236 size = (unsigned long)gtt->ttm.num_pages * PAGE_SIZE; in amdgpu_ttm_tt_affect_userptr()
1237 if (gtt->userptr > end || gtt->userptr + size <= start) in amdgpu_ttm_tt_affect_userptr()
1248 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_is_userptr() local
1250 if (gtt == NULL || !gtt->userptr) in amdgpu_ttm_tt_is_userptr()
1261 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_is_readonly() local
1263 if (gtt == NULL) in amdgpu_ttm_tt_is_readonly()
1266 return !!(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_is_readonly()