Lines Matching refs:bo

61 		struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj);  in dma_buf_attach_adev()  local
63 return amdgpu_ttm_adev(bo->tbo.bdev); in dma_buf_attach_adev()
82 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_attach() local
83 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_attach()
85 if (!amdgpu_dmabuf_is_xgmi_accessible(attach_adev, bo) && in amdgpu_dma_buf_attach()
89 amdgpu_vm_bo_update_shared(bo); in amdgpu_dma_buf_attach()
104 struct amdgpu_bo *bo = gem_to_amdgpu_bo(dmabuf->priv); in amdgpu_dma_buf_pin() local
105 u32 domains = bo->allowed_domains; in amdgpu_dma_buf_pin()
126 bo->flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; in amdgpu_dma_buf_pin()
131 return amdgpu_bo_pin(bo, domains); in amdgpu_dma_buf_pin()
144 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_unpin() local
146 amdgpu_bo_unpin(bo); in amdgpu_dma_buf_unpin()
167 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_map() local
168 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_map()
172 if (!bo->tbo.pin_count) { in amdgpu_dma_buf_map()
177 if (bo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM && in amdgpu_dma_buf_map()
179 bo->flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; in amdgpu_dma_buf_map()
182 amdgpu_bo_placement_from_domain(bo, domains); in amdgpu_dma_buf_map()
183 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_dma_buf_map()
188 switch (bo->tbo.resource->mem_type) { in amdgpu_dma_buf_map()
191 bo->tbo.ttm->pages, in amdgpu_dma_buf_map()
192 bo->tbo.ttm->num_pages); in amdgpu_dma_buf_map()
204 dma_buf_attach_adev(attach), bo))) in amdgpu_dma_buf_map()
207 r = amdgpu_vram_mgr_alloc_sgt(adev, bo->tbo.resource, 0, in amdgpu_dma_buf_map()
208 bo->tbo.base.size, attach->dev, in amdgpu_dma_buf_map()
262 struct amdgpu_bo *bo = gem_to_amdgpu_bo(dma_buf->priv); in amdgpu_dma_buf_begin_cpu_access() local
263 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_begin_cpu_access()
265 u32 domain = amdgpu_display_supported_domains(adev, bo->flags); in amdgpu_dma_buf_begin_cpu_access()
274 ret = amdgpu_bo_reserve(bo, false); in amdgpu_dma_buf_begin_cpu_access()
278 if (!bo->tbo.pin_count && in amdgpu_dma_buf_begin_cpu_access()
279 (bo->allowed_domains & AMDGPU_GEM_DOMAIN_GTT)) { in amdgpu_dma_buf_begin_cpu_access()
280 amdgpu_bo_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_dma_buf_begin_cpu_access()
281 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_dma_buf_begin_cpu_access()
284 amdgpu_bo_unreserve(bo); in amdgpu_dma_buf_begin_cpu_access()
314 struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); in amdgpu_gem_prime_export() local
317 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || in amdgpu_gem_prime_export()
318 bo->flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) in amdgpu_gem_prime_export()
346 struct amdgpu_bo *bo; in amdgpu_dma_buf_create_obj() local
367 bo = gem_to_amdgpu_bo(gobj); in amdgpu_dma_buf_create_obj()
368 bo->allowed_domains = AMDGPU_GEM_DOMAIN_GTT; in amdgpu_dma_buf_create_obj()
369 bo->preferred_domains = AMDGPU_GEM_DOMAIN_GTT; in amdgpu_dma_buf_create_obj()
392 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_move_notify() local
393 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_move_notify()
402 amdgpu_vm_bo_invalidate(bo, false); in amdgpu_dma_buf_move_notify()
403 if (!bo->tbo.resource || bo->tbo.resource->mem_type == TTM_PL_SYSTEM) in amdgpu_dma_buf_move_notify()
406 r = ttm_bo_validate(&bo->tbo, &placement, &ctx); in amdgpu_dma_buf_move_notify()
412 for (bo_base = bo->vm_bo; bo_base; bo_base = bo_base->next) { in amdgpu_dma_buf_move_notify()
414 struct dma_resv *resv = vm->root.bo->tbo.base.resv; in amdgpu_dma_buf_move_notify()
508 struct amdgpu_bo *bo) in amdgpu_dmabuf_is_xgmi_accessible() argument
510 struct drm_gem_object *obj = &bo->tbo.base; in amdgpu_dmabuf_is_xgmi_accessible()
524 bo = gem_to_amdgpu_bo(gobj); in amdgpu_dmabuf_is_xgmi_accessible()
527 if (amdgpu_xgmi_same_hive(adev, amdgpu_ttm_adev(bo->tbo.bdev)) && in amdgpu_dmabuf_is_xgmi_accessible()
528 (bo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM)) in amdgpu_dmabuf_is_xgmi_accessible()