Lines Matching refs:bo

73 	struct amdgpu_bo *bo, *next_bo;  in amdgpu_mn_destroy()  local
82 list_for_each_entry_safe(bo, next_bo, &node->bos, mn_list) { in amdgpu_mn_destroy()
83 bo->mn = NULL; in amdgpu_mn_destroy()
84 list_del_init(&bo->mn_list); in amdgpu_mn_destroy()
137 struct amdgpu_bo *bo; in amdgpu_mn_invalidate_range_start() local
143 list_for_each_entry(bo, &node->bos, mn_list) { in amdgpu_mn_invalidate_range_start()
145 if (!amdgpu_ttm_tt_affect_userptr(bo->tbo.ttm, start, in amdgpu_mn_invalidate_range_start()
149 r = amdgpu_bo_reserve(bo, true); in amdgpu_mn_invalidate_range_start()
155 r = reservation_object_wait_timeout_rcu(bo->tbo.resv, in amdgpu_mn_invalidate_range_start()
160 amdgpu_ttm_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_CPU); in amdgpu_mn_invalidate_range_start()
161 r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false); in amdgpu_mn_invalidate_range_start()
165 amdgpu_bo_unreserve(bo); in amdgpu_mn_invalidate_range_start()
238 int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr) in amdgpu_mn_register() argument
240 unsigned long end = addr + amdgpu_bo_size(bo) - 1; in amdgpu_mn_register()
241 struct amdgpu_device *adev = bo->adev; in amdgpu_mn_register()
272 bo->mn = rmn; in amdgpu_mn_register()
278 list_add(&bo->mn_list, &node->bos); in amdgpu_mn_register()
294 void amdgpu_mn_unregister(struct amdgpu_bo *bo) in amdgpu_mn_unregister() argument
296 struct amdgpu_device *adev = bo->adev; in amdgpu_mn_unregister()
301 rmn = bo->mn; in amdgpu_mn_unregister()
309 head = bo->mn_list.next; in amdgpu_mn_unregister()
311 bo->mn = NULL; in amdgpu_mn_unregister()
312 list_del(&bo->mn_list); in amdgpu_mn_unregister()