Lines Matching refs:bo

51 	struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj);  in amdgpu_gem_prime_get_sg_table()  local
52 int npages = bo->tbo.num_pages; in amdgpu_gem_prime_get_sg_table()
54 return drm_prime_pages_to_sg(bo->tbo.ttm->pages, npages); in amdgpu_gem_prime_get_sg_table()
68 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_gem_prime_vmap() local
71 ret = ttm_bo_kmap(&bo->tbo, 0, bo->tbo.num_pages, in amdgpu_gem_prime_vmap()
72 &bo->dma_buf_vmap); in amdgpu_gem_prime_vmap()
76 return bo->dma_buf_vmap.virtual; in amdgpu_gem_prime_vmap()
88 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_gem_prime_vunmap() local
90 ttm_bo_kunmap(&bo->dma_buf_vmap); in amdgpu_gem_prime_vunmap()
107 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_gem_prime_mmap() local
108 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_gem_prime_mmap()
109 unsigned asize = amdgpu_bo_size(bo); in amdgpu_gem_prime_mmap()
122 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || in amdgpu_gem_prime_mmap()
123 (bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)) { in amdgpu_gem_prime_mmap()
126 vma->vm_pgoff += amdgpu_bo_mmap_offset(bo) >> PAGE_SHIFT; in amdgpu_gem_prime_mmap()
197 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_map_attach() local
198 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_map_attach()
205 r = amdgpu_bo_reserve(bo, false); in amdgpu_dma_buf_map_attach()
219 r = __dma_resv_make_exclusive(bo->tbo.base.resv); in amdgpu_dma_buf_map_attach()
225 r = amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_dma_buf_map_attach()
230 bo->prime_shared_count++; in amdgpu_dma_buf_map_attach()
233 amdgpu_bo_unreserve(bo); in amdgpu_dma_buf_map_attach()
253 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_map_detach() local
254 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_map_detach()
257 ret = amdgpu_bo_reserve(bo, true); in amdgpu_dma_buf_map_detach()
261 amdgpu_bo_unpin(bo); in amdgpu_dma_buf_map_detach()
262 if (attach->dev->driver != adev->dev->driver && bo->prime_shared_count) in amdgpu_dma_buf_map_detach()
263 bo->prime_shared_count--; in amdgpu_dma_buf_map_detach()
264 amdgpu_bo_unreserve(bo); in amdgpu_dma_buf_map_detach()
285 struct amdgpu_bo *bo = gem_to_amdgpu_bo(dma_buf->priv); in amdgpu_dma_buf_begin_cpu_access() local
286 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_begin_cpu_access()
288 u32 domain = amdgpu_display_supported_domains(adev, bo->flags); in amdgpu_dma_buf_begin_cpu_access()
297 ret = amdgpu_bo_reserve(bo, false); in amdgpu_dma_buf_begin_cpu_access()
301 if (!bo->pin_count && (bo->allowed_domains & AMDGPU_GEM_DOMAIN_GTT)) { in amdgpu_dma_buf_begin_cpu_access()
302 amdgpu_bo_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_dma_buf_begin_cpu_access()
303 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_dma_buf_begin_cpu_access()
306 amdgpu_bo_unreserve(bo); in amdgpu_dma_buf_begin_cpu_access()
336 struct amdgpu_bo *bo = gem_to_amdgpu_bo(gobj); in amdgpu_gem_prime_export() local
339 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || in amdgpu_gem_prime_export()
340 bo->flags & AMDGPU_GEM_CREATE_VM_ALWAYS_VALID) in amdgpu_gem_prime_export()
372 struct amdgpu_bo *bo; in amdgpu_gem_prime_import_sg_table() local
384 ret = amdgpu_bo_create(adev, &bp, &bo); in amdgpu_gem_prime_import_sg_table()
388 bo->tbo.sg = sg; in amdgpu_gem_prime_import_sg_table()
389 bo->tbo.ttm->sg = sg; in amdgpu_gem_prime_import_sg_table()
390 bo->allowed_domains = AMDGPU_GEM_DOMAIN_GTT; in amdgpu_gem_prime_import_sg_table()
391 bo->preferred_domains = AMDGPU_GEM_DOMAIN_GTT; in amdgpu_gem_prime_import_sg_table()
393 bo->prime_shared_count = 1; in amdgpu_gem_prime_import_sg_table()
396 return &bo->tbo.base; in amdgpu_gem_prime_import_sg_table()