Lines Matching refs:bo

58 	struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj);  in amdgpu_dma_buf_attach()  local
59 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_attach()
88 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_detach() local
89 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_detach()
105 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_pin() local
108 return amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_dma_buf_pin()
121 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_unpin() local
123 amdgpu_bo_unpin(bo); in amdgpu_dma_buf_unpin()
144 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_map() local
145 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_map()
149 if (!bo->tbo.pin_count) { in amdgpu_dma_buf_map()
154 if (bo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM && in amdgpu_dma_buf_map()
156 bo->flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; in amdgpu_dma_buf_map()
159 amdgpu_bo_placement_from_domain(bo, domains); in amdgpu_dma_buf_map()
160 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_dma_buf_map()
164 } else if (!(amdgpu_mem_type_to_domain(bo->tbo.resource->mem_type) & in amdgpu_dma_buf_map()
169 switch (bo->tbo.resource->mem_type) { in amdgpu_dma_buf_map()
172 bo->tbo.ttm->pages, in amdgpu_dma_buf_map()
173 bo->tbo.ttm->num_pages); in amdgpu_dma_buf_map()
183 r = amdgpu_vram_mgr_alloc_sgt(adev, bo->tbo.resource, 0, in amdgpu_dma_buf_map()
184 bo->tbo.base.size, attach->dev, in amdgpu_dma_buf_map()
238 struct amdgpu_bo *bo = gem_to_amdgpu_bo(dma_buf->priv); in amdgpu_dma_buf_begin_cpu_access() local
239 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_begin_cpu_access()
241 u32 domain = amdgpu_display_supported_domains(adev, bo->flags); in amdgpu_dma_buf_begin_cpu_access()
250 ret = amdgpu_bo_reserve(bo, false); in amdgpu_dma_buf_begin_cpu_access()
254 if (!bo->tbo.pin_count && in amdgpu_dma_buf_begin_cpu_access()
255 (bo->allowed_domains & AMDGPU_GEM_DOMAIN_GTT)) { in amdgpu_dma_buf_begin_cpu_access()
256 amdgpu_bo_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_dma_buf_begin_cpu_access()
257 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_dma_buf_begin_cpu_access()
260 amdgpu_bo_unreserve(bo); in amdgpu_dma_buf_begin_cpu_access()
291 struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); in amdgpu_gem_prime_export() local
294 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || in amdgpu_gem_prime_export()
295 bo->flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) in amdgpu_gem_prime_export()
323 struct amdgpu_bo *bo; in amdgpu_dma_buf_create_obj() local
343 bo = gem_to_amdgpu_bo(gobj); in amdgpu_dma_buf_create_obj()
344 bo->allowed_domains = AMDGPU_GEM_DOMAIN_GTT; in amdgpu_dma_buf_create_obj()
345 bo->preferred_domains = AMDGPU_GEM_DOMAIN_GTT; in amdgpu_dma_buf_create_obj()
368 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_move_notify() local
369 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_move_notify()
375 if (!bo->tbo.resource || bo->tbo.resource->mem_type == TTM_PL_SYSTEM) in amdgpu_dma_buf_move_notify()
378 r = ttm_bo_validate(&bo->tbo, &placement, &ctx); in amdgpu_dma_buf_move_notify()
384 for (bo_base = bo->vm_bo; bo_base; bo_base = bo_base->next) { in amdgpu_dma_buf_move_notify()
386 struct dma_resv *resv = vm->root.bo->tbo.base.resv; in amdgpu_dma_buf_move_notify()
480 struct amdgpu_bo *bo) in amdgpu_dmabuf_is_xgmi_accessible() argument
482 struct drm_gem_object *obj = &bo->tbo.base; in amdgpu_dmabuf_is_xgmi_accessible()
493 bo = gem_to_amdgpu_bo(gobj); in amdgpu_dmabuf_is_xgmi_accessible()
496 if (amdgpu_xgmi_same_hive(adev, amdgpu_ttm_adev(bo->tbo.bdev)) && in amdgpu_dmabuf_is_xgmi_accessible()
497 (bo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM)) in amdgpu_dmabuf_is_xgmi_accessible()