Lines Matching refs:gtt

701 	struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm);  in amdgpu_ttm_tt_get_user_pages()  local
702 unsigned long start = gtt->userptr; in amdgpu_ttm_tt_get_user_pages()
726 if (unlikely((gtt->userflags & AMDGPU_GEM_USERPTR_ANONONLY) && in amdgpu_ttm_tt_get_user_pages()
750 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_tt_discard_user_pages() local
752 if (gtt && gtt->userptr && range) in amdgpu_ttm_tt_discard_user_pages()
765 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_get_user_pages_done() local
767 if (!gtt || !gtt->userptr || !range) in amdgpu_ttm_tt_get_user_pages_done()
771 gtt->userptr, ttm->num_pages); in amdgpu_ttm_tt_get_user_pages_done()
803 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_pin_userptr() local
804 int write = !(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_pin_userptr()
822 drm_prime_sg_to_dma_addr_array(ttm->sg, gtt->ttm.dma_address, in amdgpu_ttm_tt_pin_userptr()
842 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_unpin_userptr() local
843 int write = !(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_unpin_userptr()
866 struct amdgpu_ttm_tt *gtt = (void *)ttm; in amdgpu_ttm_gart_bind_gfx9_mqd() local
879 gtt->offset + (page_idx << PAGE_SHIFT), in amdgpu_ttm_gart_bind_gfx9_mqd()
880 1, &gtt->ttm.dma_address[page_idx], flags); in amdgpu_ttm_gart_bind_gfx9_mqd()
886 gtt->offset + ((page_idx + 1) << PAGE_SHIFT), in amdgpu_ttm_gart_bind_gfx9_mqd()
888 &gtt->ttm.dma_address[page_idx + 1], in amdgpu_ttm_gart_bind_gfx9_mqd()
899 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_gart_bind() local
907 amdgpu_gart_bind(adev, gtt->offset, ttm->num_pages, in amdgpu_ttm_gart_bind()
908 gtt->ttm.dma_address, flags); in amdgpu_ttm_gart_bind()
910 gtt->bound = true; in amdgpu_ttm_gart_bind()
924 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_backend_bind() local
931 if (gtt->bound) in amdgpu_ttm_backend_bind()
934 if (gtt->userptr) { in amdgpu_ttm_backend_bind()
945 attach = gtt->gobj->import_attach; in amdgpu_ttm_backend_bind()
953 drm_prime_sg_to_dma_addr_array(ttm->sg, gtt->ttm.dma_address, in amdgpu_ttm_backend_bind()
964 gtt->offset = AMDGPU_BO_INVALID_OFFSET; in amdgpu_ttm_backend_bind()
972 gtt->offset = (u64)bo_mem->start << PAGE_SHIFT; in amdgpu_ttm_backend_bind()
973 amdgpu_gart_bind(adev, gtt->offset, ttm->num_pages, in amdgpu_ttm_backend_bind()
974 gtt->ttm.dma_address, flags); in amdgpu_ttm_backend_bind()
975 gtt->bound = true; in amdgpu_ttm_backend_bind()
991 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(bo->ttm); in amdgpu_ttm_alloc_gart() local
1021 gtt->offset = (u64)tmp->start << PAGE_SHIFT; in amdgpu_ttm_alloc_gart()
1058 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_backend_unbind() local
1061 if (gtt->userptr) { in amdgpu_ttm_backend_unbind()
1063 } else if (ttm->sg && gtt->gobj->import_attach) { in amdgpu_ttm_backend_unbind()
1066 attach = gtt->gobj->import_attach; in amdgpu_ttm_backend_unbind()
1071 if (!gtt->bound) in amdgpu_ttm_backend_unbind()
1074 if (gtt->offset == AMDGPU_BO_INVALID_OFFSET) in amdgpu_ttm_backend_unbind()
1078 amdgpu_gart_unbind(adev, gtt->offset, ttm->num_pages); in amdgpu_ttm_backend_unbind()
1079 gtt->bound = false; in amdgpu_ttm_backend_unbind()
1085 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_backend_destroy() local
1087 if (gtt->usertask) in amdgpu_ttm_backend_destroy()
1088 put_task_struct(gtt->usertask); in amdgpu_ttm_backend_destroy()
1090 ttm_tt_fini(&gtt->ttm); in amdgpu_ttm_backend_destroy()
1091 kfree(gtt); in amdgpu_ttm_backend_destroy()
1107 struct amdgpu_ttm_tt *gtt; in amdgpu_ttm_tt_create() local
1110 gtt = kzalloc(sizeof(struct amdgpu_ttm_tt), GFP_KERNEL); in amdgpu_ttm_tt_create()
1111 if (!gtt) in amdgpu_ttm_tt_create()
1114 gtt->gobj = &bo->base; in amdgpu_ttm_tt_create()
1116 gtt->pool_id = KFD_XCP_MEM_ID(adev, abo->xcp_id); in amdgpu_ttm_tt_create()
1118 gtt->pool_id = abo->xcp_id; in amdgpu_ttm_tt_create()
1126 if (ttm_sg_tt_init(&gtt->ttm, bo, page_flags, caching)) { in amdgpu_ttm_tt_create()
1127 kfree(gtt); in amdgpu_ttm_tt_create()
1130 return &gtt->ttm; in amdgpu_ttm_tt_create()
1144 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_populate() local
1150 if (gtt->userptr) { in amdgpu_ttm_tt_populate()
1160 if (adev->mman.ttm_pools && gtt->pool_id >= 0) in amdgpu_ttm_tt_populate()
1161 pool = &adev->mman.ttm_pools[gtt->pool_id]; in amdgpu_ttm_tt_populate()
1183 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_unpopulate() local
1190 if (gtt->userptr) { in amdgpu_ttm_tt_unpopulate()
1205 if (adev->mman.ttm_pools && gtt->pool_id >= 0) in amdgpu_ttm_tt_unpopulate()
1206 pool = &adev->mman.ttm_pools[gtt->pool_id]; in amdgpu_ttm_tt_unpopulate()
1223 struct amdgpu_ttm_tt *gtt; in amdgpu_ttm_tt_get_userptr() local
1228 gtt = (void *)tbo->ttm; in amdgpu_ttm_tt_get_userptr()
1229 *user_addr = gtt->userptr; in amdgpu_ttm_tt_get_userptr()
1248 struct amdgpu_ttm_tt *gtt; in amdgpu_ttm_tt_set_userptr() local
1260 gtt = ttm_to_amdgpu_ttm_tt(bo->ttm); in amdgpu_ttm_tt_set_userptr()
1261 gtt->userptr = addr; in amdgpu_ttm_tt_set_userptr()
1262 gtt->userflags = flags; in amdgpu_ttm_tt_set_userptr()
1264 if (gtt->usertask) in amdgpu_ttm_tt_set_userptr()
1265 put_task_struct(gtt->usertask); in amdgpu_ttm_tt_set_userptr()
1266 gtt->usertask = current->group_leader; in amdgpu_ttm_tt_set_userptr()
1267 get_task_struct(gtt->usertask); in amdgpu_ttm_tt_set_userptr()
1277 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_get_usermm() local
1279 if (gtt == NULL) in amdgpu_ttm_tt_get_usermm()
1282 if (gtt->usertask == NULL) in amdgpu_ttm_tt_get_usermm()
1285 return gtt->usertask->mm; in amdgpu_ttm_tt_get_usermm()
1296 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_affect_userptr() local
1299 if (gtt == NULL || !gtt->userptr) in amdgpu_ttm_tt_affect_userptr()
1305 size = (unsigned long)gtt->ttm.num_pages * PAGE_SIZE; in amdgpu_ttm_tt_affect_userptr()
1306 if (gtt->userptr > end || gtt->userptr + size <= start) in amdgpu_ttm_tt_affect_userptr()
1310 *userptr = gtt->userptr; in amdgpu_ttm_tt_affect_userptr()
1319 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_is_userptr() local
1321 if (gtt == NULL || !gtt->userptr) in amdgpu_ttm_tt_is_userptr()
1332 struct amdgpu_ttm_tt *gtt = ttm_to_amdgpu_ttm_tt(ttm); in amdgpu_ttm_tt_is_readonly() local
1334 if (gtt == NULL) in amdgpu_ttm_tt_is_readonly()
1337 return !!(gtt->userflags & AMDGPU_GEM_USERPTR_READONLY); in amdgpu_ttm_tt_is_readonly()