Lines Matching refs:bo
18 struct panthor_gem_object *bo = to_panthor_bo(obj); in panthor_gem_free_object() local
19 struct drm_gem_object *vm_root_gem = bo->exclusive_vm_root_gem; in panthor_gem_free_object()
21 drm_gem_free_mmap_offset(&bo->base.base); in panthor_gem_free_object()
22 mutex_destroy(&bo->gpuva_list_lock); in panthor_gem_free_object()
23 drm_gem_shmem_free(&bo->base); in panthor_gem_free_object()
32 void panthor_kernel_bo_destroy(struct panthor_kernel_bo *bo) in panthor_kernel_bo_destroy() argument
37 if (IS_ERR_OR_NULL(bo)) in panthor_kernel_bo_destroy()
40 vm = bo->vm; in panthor_kernel_bo_destroy()
41 panthor_kernel_bo_vunmap(bo); in panthor_kernel_bo_destroy()
43 if (drm_WARN_ON(bo->obj->dev, in panthor_kernel_bo_destroy()
44 to_panthor_bo(bo->obj)->exclusive_vm_root_gem != panthor_vm_root_gem(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()
51 panthor_vm_free_va(vm, &bo->va_node); 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()
80 struct panthor_gem_object *bo; in panthor_kernel_bo_create() local
96 bo = to_panthor_bo(&obj->base); in panthor_kernel_bo_create()
98 bo->flags = bo_flags; in panthor_kernel_bo_create()
111 ret = panthor_vm_map_bo_range(vm, bo, 0, size, kbo->va_node.start, vm_map_flags); in panthor_kernel_bo_create()
116 bo->exclusive_vm_root_gem = panthor_vm_root_gem(vm); in panthor_kernel_bo_create()
117 drm_gem_object_get(bo->exclusive_vm_root_gem); in panthor_kernel_bo_create()
118 bo->base.base.resv = bo->exclusive_vm_root_gem->resv; in panthor_kernel_bo_create()
134 struct panthor_gem_object *bo = to_panthor_bo(obj); in panthor_gem_mmap() local
137 if (bo->flags & DRM_PANTHOR_BO_NO_MMAP) in panthor_gem_mmap()
210 struct panthor_gem_object *bo; in panthor_gem_create_with_handle() local
216 bo = to_panthor_bo(&shmem->base); in panthor_gem_create_with_handle()
217 bo->flags = flags; in panthor_gem_create_with_handle()
220 bo->exclusive_vm_root_gem = panthor_vm_root_gem(exclusive_vm); in panthor_gem_create_with_handle()
221 drm_gem_object_get(bo->exclusive_vm_root_gem); in panthor_gem_create_with_handle()
222 bo->base.base.resv = bo->exclusive_vm_root_gem->resv; in panthor_gem_create_with_handle()
231 *size = bo->base.base.size; in panthor_gem_create_with_handle()