Home
last modified time | relevance | path

Searched refs:bo (Results 1 – 25 of 416) sorted by relevance

12345678910>>...17

/linux-6.15/drivers/staging/media/atomisp/pci/hmm/
H A Dhmm_bo.c48 memset(bo, 0, sizeof(*bo)); in __bo_init()
248 bo->pgnr = bo->pgnr - pgnr; in __bo_break_up()
265 if (!bo->prev && !bo->next) { in __bo_take_off_handling()
272 } else if (!bo->prev && bo->next) { in __bo_take_off_handling()
282 } else if (bo->prev && !bo->next) { in __bo_take_off_handling()
290 } else if (bo->prev && bo->next) { in __bo_take_off_handling()
291 bo->next->prev = bo->prev; in __bo_take_off_handling()
292 bo->prev->next = bo->next; in __bo_take_off_handling()
474 bo = __bo_merge(prev_bo, bo); in hmm_bo_release()
481 bo = __bo_merge(bo, next_bo); in hmm_bo_release()
[all …]
H A Dhmm.c61 hmm_bo_type_string[bo->type], bo->pgnr); in bo_show()
63 total[bo->type] += bo->pgnr; in bo_show()
177 if (!bo) { in __hmm_alloc()
196 return bo->start; in __hmm_alloc()
225 if (!bo) { in hmm_free()
239 if (!bo) { in hmm_check_bo()
512 if (!bo) { in hmm_virt_to_phys()
530 if (!bo) { in hmm_mmap()
547 if (!bo) { in hmm_vmap()
567 if (!bo) { in hmm_flush_vmap()
[all …]
/linux-6.15/drivers/gpu/drm/ttm/
H A Dttm_bo.c181 bo->bdev->funcs->delete_mem_notify(bo); in ttm_bo_cleanup_memtype_use()
184 ttm_resource_free(bo, &bo->resource); in ttm_bo_cleanup_memtype_use()
191 if (bo->base.resv == &bo->base._resv) in ttm_bo_individualize_resv()
207 bo->base.resv = &bo->base._resv; in ttm_bo_individualize_resv()
268 bo->bdev->funcs->release_notify(bo); in ttm_bo_release()
316 bo->destroy(bo); in ttm_bo_release()
461 bo = res->bo; in ttm_bo_evict_first()
628 if (!bo->pin_count++ && bo->resource) in ttm_bo_pin()
943 bo->base.resv = &bo->base._resv; in ttm_bo_init_reserved()
1171 bo->bdev->funcs->swap_notify(bo); in ttm_bo_swapout_cb()
[all …]
H A Dttm_bo_util.c272 fbo->bo = bo; in ttm_buffer_object_transfer()
404 map->bo = bo; in ttm_bo_kmap()
553 ttm_mem_io_free(bo->bdev, bo->resource); in ttm_bo_vunmap()
571 ttm_resource_free(bo, &bo->resource); in ttm_bo_wait_free_node()
632 ttm_resource_free(bo, &bo->resource); in ttm_bo_move_pipeline_evict()
728 ttm_tt_unpopulate(bo->bdev, bo->ttm); in ttm_bo_pipeline_gutting()
732 ttm_resource_free(bo, &bo->resource); in ttm_bo_pipeline_gutting()
868 struct ttm_buffer_object *bo = res->bo; in ttm_lru_walk_for_evict() local
980 struct ttm_buffer_object *bo = res->bo; in ttm_bo_from_res_reserved() local
991 curs->bo = bo; in ttm_bo_from_res_reserved()
[all …]
H A Dttm_bo_vm.c61 drm_gem_object_get(&bo->base); in ttm_bo_vm_fault_idle()
66 dma_resv_unlock(bo->base.resv); in ttm_bo_vm_fault_idle()
67 drm_gem_object_put(&bo->base); in ttm_bo_vm_fault_idle()
152 if (bo->ttm && (bo->ttm->page_flags & TTM_TT_FLAG_EXTERNAL)) { in ttm_bo_vm_reserve()
218 prot = ttm_io_prot(bo, bo->resource, prot); in ttm_bo_vm_fault_reserved()
226 ttm = bo->ttm; in ttm_bo_vm_fault_reserved()
356 drm_gem_object_get(&bo->base); in ttm_bo_vm_open()
364 drm_gem_object_put(&bo->base); in ttm_bo_vm_close()
450 ttm_bo_unreserve(bo); in ttm_bo_access()
489 drm_gem_object_get(&bo->base); in ttm_bo_mmap_obj()
[all …]
/linux-6.15/drivers/gpu/drm/qxl/
H A Dqxl_object.c46 kfree(bo); in qxl_ttm_bo_destroy()
125 kfree(bo); in qxl_bo_create()
167 r = ttm_bo_vmap(&bo->tbo, &bo->map); in qxl_bo_vmap_locked()
176 bo->kptr = (void *)bo->map.vaddr_iomem; in qxl_bo_vmap_locked()
178 bo->kptr = bo->map.vaddr; in qxl_bo_vmap_locked()
249 ttm_bo_vunmap(&bo->tbo, &bo->map); in qxl_bo_vunmap_locked()
285 *bo = NULL; in qxl_bo_unref()
291 return bo; in qxl_bo_ref()
306 qxl_ttm_placement_from_domain(bo, bo->type); in qxl_bo_pin_locked()
307 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in qxl_bo_pin_locked()
[all …]
H A Dqxl_object.h34 r = ttm_bo_reserve(&bo->tbo, true, false, NULL); in qxl_bo_reserve()
37 struct drm_device *ddev = bo->tbo.base.dev; in qxl_bo_reserve()
39 dev_err(ddev->dev, "%p reserve failed\n", bo); in qxl_bo_reserve()
48 ttm_bo_unreserve(&bo->tbo); in qxl_bo_unreserve()
53 return bo->tbo.base.size; in qxl_bo_size()
64 int qxl_bo_vunmap_and_unpin(struct qxl_bo *bo);
65 void qxl_bo_vunmap_locked(struct qxl_bo *bo);
69 extern void qxl_bo_unref(struct qxl_bo **bo);
70 extern int qxl_bo_pin_locked(struct qxl_bo *bo);
72 extern int qxl_bo_pin(struct qxl_bo *bo);
[all …]
/linux-6.15/drivers/gpu/drm/radeon/
H A Dradeon_object.c64 drm_prime_gem_destroy(&bo->tbo.base, bo->tbo.sg); in radeon_ttm_bo_destroy()
66 kfree(bo); in radeon_ttm_bo_destroy()
234 r = ttm_bo_kmap(&bo->tbo, 0, PFN_UP(bo->tbo.base.size), &bo->kmap); in radeon_bo_kmap()
261 return bo; in radeon_bo_ref()
322 bo->rdev->vram_pin_size += radeon_bo_size(bo); in radeon_bo_pin_restricted()
324 bo->rdev->gart_pin_size += radeon_bo_size(bo); in radeon_bo_pin_restricted()
326 dev_err(bo->rdev->dev, "%p pin failed\n", bo); in radeon_bo_pin_restricted()
341 bo->rdev->vram_pin_size -= radeon_bo_size(bo); in radeon_bo_unpin()
343 bo->rdev->gart_pin_size -= radeon_bo_size(bo); in radeon_bo_unpin()
376 &bo->tbo.base, bo, (unsigned long)bo->tbo.base.size, in radeon_bo_force_delete()
[all …]
H A Dradeon_object.h68 r = ttm_bo_reserve(&bo->tbo, !no_intr, false, NULL); in radeon_bo_reserve()
71 dev_err(bo->rdev->dev, "%p reserve failed\n", bo); in radeon_bo_reserve()
79 ttm_bo_unreserve(&bo->tbo); in radeon_bo_unreserve()
96 rdev = radeon_get_rdev(bo->tbo.bdev); in radeon_bo_gpu_offset()
98 switch (bo->tbo.resource->mem_type) { in radeon_bo_gpu_offset()
107 return (bo->tbo.resource->start << PAGE_SHIFT) + start; in radeon_bo_gpu_offset()
112 return bo->tbo.base.size; in radeon_bo_size()
117 return bo->tbo.base.size / RADEON_GPU_PAGE_SIZE; in radeon_bo_ngpu_pages()
143 extern void radeon_bo_kunmap(struct radeon_bo *bo);
145 extern void radeon_bo_unref(struct radeon_bo **bo);
[all …]
/linux-6.15/drivers/accel/ivpu/
H A Divpu_gem.c31 action, bo, bo->vpu_addr, ivpu_bo_size(bo), bo->ctx ? bo->ctx->id : 0, in ivpu_dbg_bo()
32 (bool)bo->base.pages, (bool)bo->base.sgt, bo->mmu_mapped, bo->base.map_wc, in ivpu_dbg_bo()
92 bo->vpu_addr = bo->mm_node.start; in ivpu_bo_alloc_vpu_addr()
116 ivpu_mmu_context_unmap_sgt(vdev, bo->ctx, bo->vpu_addr, bo->base.sgt); in ivpu_bo_unbind_locked()
121 ivpu_mmu_context_remove_node(bo->ctx, &bo->mm_node); in ivpu_bo_unbind_locked()
164 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in ivpu_gem_create_object()
165 if (!bo) in ivpu_gem_create_object()
243 return bo; in ivpu_bo_alloc()
372 return bo; in ivpu_bo_create()
455 bo, bo->ctx ? bo->ctx->id : 0, bo->vpu_addr, bo->base.base.size, in ivpu_bo_print_info()
[all …]
H A Divpu_gem.h27 int ivpu_bo_pin(struct ivpu_bo *bo);
35 void ivpu_bo_free(struct ivpu_bo *bo);
51 return bo->base.vaddr; in ivpu_bo_vaddr()
56 return bo->base.base.size; in ivpu_bo_size()
66 return to_ivpu_device(bo->base.base.dev); in ivpu_bo_to_vdev()
79 if (vpu_addr < bo->vpu_addr) in ivpu_to_cpu_addr()
82 if (vpu_addr >= (bo->vpu_addr + ivpu_bo_size(bo))) in ivpu_to_cpu_addr()
85 return ivpu_bo_vaddr(bo) + (vpu_addr - bo->vpu_addr); in ivpu_to_cpu_addr()
90 if (cpu_addr < ivpu_bo_vaddr(bo)) in cpu_to_vpu_addr()
93 if (cpu_addr >= (ivpu_bo_vaddr(bo) + ivpu_bo_size(bo))) in cpu_to_vpu_addr()
[all …]
/linux-6.15/drivers/gpu/drm/tegra/
H A Dgem.c72 map->bo = host1x_bo_get(bo); in tegra_bo_pin()
243 bo->mm = kzalloc(sizeof(*bo->mm), GFP_KERNEL); in tegra_bo_iommu_map()
250 bo->mm, bo->gem.size, PAGE_SIZE, 0, 0); in tegra_bo_iommu_map()
257 bo->iova = bo->mm->start; in tegra_bo_iommu_map()
259 bo->size = iommu_map_sgtable(tegra->domain, bo->iova, bo->sgt, prot); in tegra_bo_iommu_map()
284 iommu_unmap(tegra->domain, bo->iova, bo->size); in tegra_bo_iommu_unmap()
305 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in tegra_bo_alloc_object()
339 dma_free_wc(drm->dev, bo->gem.size, bo->vaddr, bo->iova); in tegra_bo_free()
347 bo->pages = drm_gem_get_pages(&bo->gem); in tegra_bo_get_pages()
351 bo->num_pages = bo->gem.size >> PAGE_SHIFT; in tegra_bo_get_pages()
[all …]
/linux-6.15/drivers/gpu/drm/xe/
H A Dxe_bo.h140 #define xe_bo_device(bo) ttm_to_xe_device((bo)->ttm.bdev) argument
144 if (bo) in xe_bo_get()
147 return bo; in xe_bo_get()
171 return bo; in xe_bo_get_unless_zero()
176 if (bo) in __xe_bo_unset_bulk_move()
182 if (bo) in xe_bo_assert_held()
192 if (bo) { in xe_bo_unlock_vm_held()
193 XE_WARN_ON(bo->vm && bo->ttm.base.resv != xe_vm_resv(bo->vm)); in xe_bo_unlock_vm_held()
194 if (bo->vm) in xe_bo_unlock_vm_held()
254 xe_assert(xe_bo_device(bo), bo->tile); in xe_bo_ggtt_addr()
[all …]
H A Dxe_bo.c901 if (xe_bo_is_pinned(bo) && !xe_bo_is_user(bo)) { in xe_bo_move()
945 fence = xe_migrate_copy(migrate, bo, bo, old_mem, in xe_bo_move()
1140 bo->ttm.ttm = xe_ttm_tt_create(&bo->ttm, 0); in xe_bo_evict_pinned()
1198 if (WARN_ON(!bo->ttm.ttm && !xe_bo_is_stolen(bo))) in xe_bo_restore_pinned()
1448 if (bo->vm && xe_bo_is_user(bo)) in xe_ttm_bo_destroy()
1483 if (bo->vm && !xe_vm_in_fault_mode(bo->vm)) { in xe_gem_object_close()
1484 xe_assert(xe_bo_device(bo), xe_bo_is_user(bo)); in xe_gem_object_close()
1610 if (!bo) in xe_bo_alloc()
2300 if (!xe_bo_is_vram(bo) && !xe_bo_is_stolen(bo)) { in __xe_bo_addr()
2345 ret = ttm_bo_kmap(&bo->ttm, 0, bo->size >> PAGE_SHIFT, &bo->kmap); in xe_bo_vmap()
[all …]
H A Dxe_bo_evict.c30 struct xe_bo *bo; in xe_bo_evict_all() local
66 if (!bo) in xe_bo_evict_all()
68 xe_bo_get(bo); in xe_bo_evict_all()
75 xe_bo_put(bo); in xe_bo_evict_all()
100 if (!bo) in xe_bo_evict_all()
102 xe_bo_get(bo); in xe_bo_evict_all()
109 xe_bo_put(bo); in xe_bo_evict_all()
140 if (!bo) in xe_bo_restore_kernel()
142 xe_bo_get(bo); in xe_bo_restore_kernel()
174 xe_bo_put(bo); in xe_bo_restore_kernel()
[all …]
/linux-6.15/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_object.c66 drm_prime_gem_destroy(&bo->tbo.base, bo->tbo.sg); in amdgpu_bo_destroy()
69 kvfree(bo); in amdgpu_bo_destroy()
385 if (!(*bo)) { in amdgpu_bo_create_isp_user()
674 bo->allowed_domains = bo->preferred_domains; in amdgpu_bo_create()
723 r = amdgpu_ttm_clear_buffer(bo, bo->tbo.base.resv, &fence); in amdgpu_bo_create()
733 *bo_ptr = bo; in amdgpu_bo_create()
841 r = ttm_bo_kmap(&bo->tbo, 0, PFN_UP(bo->tbo.base.size), &bo->kmap); in amdgpu_bo_kmap()
875 if (bo->kmap.bo) in amdgpu_bo_kunmap()
894 return bo; in amdgpu_bo_ref()
909 *bo = NULL; in amdgpu_bo_unref()
[all …]
H A Damdgpu_dma_buf.c89 amdgpu_vm_bo_update_shared(bo); in amdgpu_dma_buf_attach()
146 amdgpu_bo_unpin(bo); in amdgpu_dma_buf_unpin()
172 if (!bo->tbo.pin_count) { in amdgpu_dma_buf_map()
183 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in amdgpu_dma_buf_map()
191 bo->tbo.ttm->pages, in amdgpu_dma_buf_map()
278 if (!bo->tbo.pin_count && 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()
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()
[all …]
H A Damdgpu_object.h58 void (*destroy)(struct ttm_buffer_object *bo);
129 struct amdgpu_bo bo; member
138 struct amdgpu_bo bo; member
201 ttm_bo_unreserve(&bo->tbo); in amdgpu_bo_unreserve()
206 return bo->tbo.base.size; in amdgpu_bo_size()
265 struct amdgpu_bo **bo,
280 void *amdgpu_bo_kptr(struct amdgpu_bo *bo);
281 void amdgpu_bo_kunmap(struct amdgpu_bo *bo);
283 void amdgpu_bo_unref(struct amdgpu_bo **bo);
285 void amdgpu_bo_unpin(struct amdgpu_bo *bo);
[all …]
/linux-6.15/drivers/gpu/drm/vc4/
H A Dvc4_bo.c380 if (bo) in vc4_bo_get_from_cache()
383 return bo; in vc4_bo_get_from_cache()
402 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in vc4_create_object()
403 if (!bo) in vc4_create_object()
438 if (bo) { in vc4_bo_create()
440 memset(bo->base.vaddr, 0, bo->base.base.size); in vc4_bo_create()
441 return bo; in vc4_bo_create()
488 return bo; in vc4_bo_create()
507 if (IS_ERR(bo)) in vc4_bo_dumb_create()
798 if (IS_ERR(bo)) in vc4_create_bo_ioctl()
[all …]
/linux-6.15/include/drm/ttm/
H A Dttm_bo.h164 struct ttm_buffer_object *bo; member
256 kref_get(&bo->kref); in ttm_bo_get()
274 return bo; in ttm_bo_get_unless_zero()
354 spin_lock(&bo->bdev->lru_lock); in ttm_bo_move_to_lru_tail_unlocked()
355 ttm_bo_move_to_lru_tail(bo); in ttm_bo_move_to_lru_tail_unlocked()
362 WARN_ON(bo->resource); in ttm_bo_assign_mem()
363 bo->resource = new_mem; in ttm_bo_assign_mem()
376 ttm_resource_free(bo, &bo->resource); in ttm_bo_move_null()
377 ttm_bo_assign_mem(bo, new_mem); in ttm_bo_move_null()
390 dma_resv_unlock(bo->base.resv); in ttm_bo_unreserve()
[all …]
/linux-6.15/drivers/gpu/drm/lima/
H A Dlima_gem.c27 size_t new_size = bo->heap_size ? bo->heap_size * 2 : in lima_heap_alloc()
32 if (bo->heap_size >= bo->base.base.size) in lima_heap_alloc()
39 if (bo->base.pages) { in lima_heap_alloc()
72 if (bo->base.sgt) { in lima_heap_alloc()
76 bo->base.sgt = kmalloc(sizeof(*bo->base.sgt), GFP_KERNEL); in lima_heap_alloc()
115 struct lima_bo *bo; in lima_gem_create_handle() local
185 if (bo->heap_size) in lima_gem_pin()
195 if (bo->heap_size) in lima_gem_vmap()
229 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in lima_gem_create_object()
230 if (!bo) in lima_gem_create_object()
[all …]
/linux-6.15/drivers/gpu/drm/ttm/tests/
H A Dttm_bo_test.c301 ttm_bo_pin(bo); in ttm_bo_unreserve_pinned()
406 bo->resource = res; in ttm_bo_put_basic()
413 ttm_bo_put(bo); in ttm_bo_put_basic()
466 ttm_bo_put(bo); in ttm_bo_put_shared_resv()
488 ttm_bo_pin(bo); in ttm_bo_pin_basic()
527 ttm_bo_pin(bo); in ttm_bo_pin_unpin_resource()
537 ttm_bo_unpin(bo); in ttm_bo_pin_unpin_resource()
580 ttm_bo_pin(bo); in ttm_bo_multiple_pin_one_unpin()
581 ttm_bo_pin(bo); in ttm_bo_multiple_pin_one_unpin()
592 ttm_bo_unpin(bo); in ttm_bo_multiple_pin_one_unpin()
[all …]
/linux-6.15/drivers/gpu/drm/panfrost/
H A Dpanfrost_gem.c38 if (bo->sgts) { in panfrost_gem_free_object()
43 if (bo->sgts[i].sgl) { in panfrost_gem_free_object()
49 kvfree(bo->sgts); in panfrost_gem_free_object()
131 mapping->obj = bo; in panfrost_gem_open()
139 if (!bo->noexec) in panfrost_gem_open()
152 if (!bo->is_heap) { in panfrost_gem_open()
192 if (bo->is_heap) in panfrost_gem_pin()
203 if (bo->base.base.import_attach || bo->base.pages) in panfrost_gem_status()
216 if (bo->is_heap) { in panfrost_gem_rss()
285 return bo; in panfrost_gem_create()
[all …]
/linux-6.15/drivers/gpu/drm/panthor/
H A Dpanthor_gem.c23 drm_gem_shmem_free(&bo->base); in panthor_gem_free_object()
37 if (IS_ERR_OR_NULL(bo)) in panthor_kernel_bo_destroy()
40 vm = bo->vm; in panthor_kernel_bo_destroy()
47 ret = panthor_vm_unmap_range(vm, bo->va_node.start, bo->va_node.size); in panthor_kernel_bo_destroy()
52 drm_gem_object_put(bo->obj); in panthor_kernel_bo_destroy()
56 kfree(bo); in panthor_kernel_bo_destroy()
98 bo->flags = bo_flags; in panthor_kernel_bo_create()
118 bo->base.base.resv = bo->exclusive_vm_root_gem->resv; in panthor_kernel_bo_create()
158 if (bo->base.base.import_attach || bo->base.pages) in panthor_gem_status()
229 bo->flags = flags; in panthor_gem_create_with_handle()
[all …]
/linux-6.15/drivers/gpu/drm/virtio/
H A Dvirtgpu_prime.c114 bool blob = bo->host3d_blob || bo->guest_blob; in virtgpu_gem_prime_export()
183 bo->sgt = sgt; in virtgpu_dma_buf_import_sgt()
193 if (bo->created) { in virtgpu_dma_buf_unmap()
196 if (bo->sgt) in virtgpu_dma_buf_unmap()
200 bo->sgt = NULL; in virtgpu_dma_buf_unmap()
221 if (bo->created) { in virtgpu_dma_buf_free_obj()
263 bo->guest_blob = true; in virtgpu_dma_buf_init_obj()
319 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in virtgpu_gem_prime_import()
320 if (!bo) in virtgpu_gem_prime_import()
323 obj = &bo->base.base; in virtgpu_gem_prime_import()
[all …]

12345678910>>...17