Home
last modified time | relevance | path

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

1234567891011

/netbsd-src/sys/external/bsd/drm2/dist/drm/qxl/
H A Dqxl_object.c37 struct qxl_bo *bo; in qxl_ttm_bo_destroy() local
40 bo = to_qxl_bo(tbo); in qxl_ttm_bo_destroy()
41 qdev = (struct qxl_device *)bo->tbo.base.dev->dev_private; in qxl_ttm_bo_destroy()
43 qxl_surface_evict(qdev, bo, false); in qxl_ttm_bo_destroy()
44 WARN_ON_ONCE(bo->map_count > 0); in qxl_ttm_bo_destroy()
46 list_del_init(&bo->list); in qxl_ttm_bo_destroy()
48 drm_gem_object_release(&bo->tbo.base); in qxl_ttm_bo_destroy()
49 kfree(bo); in qxl_ttm_bo_destroy()
52 bool qxl_ttm_bo_is_qxl_bo(struct ttm_buffer_object *bo) in qxl_ttm_bo_is_qxl_bo() argument
54 if (bo->destroy == &qxl_ttm_bo_destroy) in qxl_ttm_bo_is_qxl_bo()
[all …]
H A Dqxl_object.h32 static inline int qxl_bo_reserve(struct qxl_bo *bo, bool no_wait) in qxl_bo_reserve() argument
36 r = ttm_bo_reserve(&bo->tbo, true, no_wait, NULL); in qxl_bo_reserve()
39 struct drm_device *ddev = bo->tbo.base.dev; in qxl_bo_reserve()
41 dev_err(ddev->dev, "%p reserve failed\n", bo); in qxl_bo_reserve()
48 static inline void qxl_bo_unreserve(struct qxl_bo *bo) in qxl_bo_unreserve() argument
50 ttm_bo_unreserve(&bo->tbo); in qxl_bo_unreserve()
53 static inline u64 qxl_bo_gpu_offset(struct qxl_bo *bo) in qxl_bo_gpu_offset() argument
55 return bo->tbo.offset; in qxl_bo_gpu_offset()
58 static inline unsigned long qxl_bo_size(struct qxl_bo *bo) in qxl_bo_size() argument
60 return bo->tbo.num_pages << PAGE_SHIFT; in qxl_bo_size()
[all …]
H A Dqxl_release.c169 struct qxl_bo *bo; in qxl_release_free_list() local
173 bo = to_qxl_bo(entry->tv.bo); in qxl_release_free_list()
174 qxl_bo_unref(&bo); in qxl_release_free_list()
207 struct qxl_bo **bo) in qxl_release_bo_alloc() argument
211 QXL_GEM_DOMAIN_VRAM, NULL, bo); in qxl_release_bo_alloc()
214 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo) in qxl_release_list_add() argument
219 if (entry->tv.bo == &bo->tbo) in qxl_release_list_add()
227 qxl_bo_ref(bo); in qxl_release_list_add()
228 entry->tv.bo = &bo->tbo; in qxl_release_list_add()
234 static int qxl_release_validate_bo(struct qxl_bo *bo) in qxl_release_validate_bo() argument
[all …]
/netbsd-src/sys/external/bsd/drm2/dist/drm/radeon/
H A Dradeon_object.c53 static void radeon_bo_clear_surface_reg(struct radeon_bo *bo);
60 static void radeon_update_memory_usage(struct radeon_bo *bo, in radeon_update_memory_usage() argument
63 struct radeon_device *rdev = bo->rdev; in radeon_update_memory_usage()
64 u64 size = (u64)bo->tbo.num_pages << PAGE_SHIFT; in radeon_update_memory_usage()
84 struct radeon_bo *bo; in radeon_ttm_bo_destroy() local
86 bo = container_of(tbo, struct radeon_bo, tbo); in radeon_ttm_bo_destroy()
88 radeon_update_memory_usage(bo, bo->tbo.mem.mem_type, -1); in radeon_ttm_bo_destroy()
90 mutex_lock(&bo->rdev->gem.mutex); in radeon_ttm_bo_destroy()
91 list_del_init(&bo->list); in radeon_ttm_bo_destroy()
92 mutex_unlock(&bo->rdev->gem.mutex); in radeon_ttm_bo_destroy()
[all …]
H A Dradeon_prime.c41 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_get_sg_table() local
42 int npages = bo->tbo.num_pages; in radeon_gem_prime_get_sg_table()
44 return drm_prime_pages_to_sg(bo->tbo.ttm->pages, npages); in radeon_gem_prime_get_sg_table()
49 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_vmap() local
52 ret = ttm_bo_kmap(&bo->tbo, 0, bo->tbo.num_pages, in radeon_gem_prime_vmap()
53 &bo->dma_buf_vmap); in radeon_gem_prime_vmap()
57 return bo->dma_buf_vmap.virtual; in radeon_gem_prime_vmap()
62 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_vunmap() local
64 ttm_bo_kunmap(&bo->dma_buf_vmap); in radeon_gem_prime_vunmap()
73 struct radeon_bo *bo; in radeon_gem_prime_import_sg_table() local
[all …]
H A Dradeon_object.h66 static inline int radeon_bo_reserve(struct radeon_bo *bo, bool no_intr) in radeon_bo_reserve() argument
70 r = ttm_bo_reserve(&bo->tbo, !no_intr, false, NULL); in radeon_bo_reserve()
73 dev_err(bo->rdev->dev, "%p reserve failed\n", bo); in radeon_bo_reserve()
79 static inline void radeon_bo_unreserve(struct radeon_bo *bo) in radeon_bo_unreserve() argument
81 ttm_bo_unreserve(&bo->tbo); in radeon_bo_unreserve()
93 static inline u64 radeon_bo_gpu_offset(struct radeon_bo *bo) in radeon_bo_gpu_offset() argument
95 return bo->tbo.offset; in radeon_bo_gpu_offset()
98 static inline unsigned long radeon_bo_size(struct radeon_bo *bo) in radeon_bo_size() argument
100 return bo->tbo.num_pages << PAGE_SHIFT; in radeon_bo_size()
103 static inline unsigned radeon_bo_ngpu_pages(struct radeon_bo *bo) in radeon_bo_ngpu_pages() argument
[all …]
H A Dradeon_mn.c57 struct radeon_bo *bo = container_of(mn, struct radeon_bo, notifier); in radeon_mn_invalidate() local
61 if (!bo->tbo.ttm || bo->tbo.ttm->state != tt_bound) in radeon_mn_invalidate()
67 r = radeon_bo_reserve(bo, true); in radeon_mn_invalidate()
73 r = dma_resv_wait_timeout_rcu(bo->tbo.base.resv, true, false, in radeon_mn_invalidate()
78 radeon_ttm_placement_from_domain(bo, RADEON_GEM_DOMAIN_CPU); in radeon_mn_invalidate()
79 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in radeon_mn_invalidate()
83 radeon_bo_unreserve(bo); in radeon_mn_invalidate()
100 int radeon_mn_register(struct radeon_bo *bo, unsigned long addr) in radeon_mn_register() argument
104 ret = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr, in radeon_mn_register()
105 radeon_bo_size(bo), &radeon_mn_ops); in radeon_mn_register()
[all …]
/netbsd-src/sys/external/bsd/drm2/dist/drm/ttm/
H A Dttm_bo.c86 static void ttm_bo_default_destroy(struct ttm_buffer_object *bo) in ttm_bo_default_destroy() argument
88 kfree(bo); in ttm_bo_default_destroy()
120 static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo, in ttm_bo_mem_space_debug() argument
127 bo, bo->mem.num_pages, bo->mem.size >> 10, in ttm_bo_mem_space_debug()
128 bo->mem.size >> 20); in ttm_bo_mem_space_debug()
136 ttm_mem_type_debug(bo->bdev, &p, mem_type); in ttm_bo_mem_space_debug()
176 struct ttm_buffer_object *bo = in ttm_bo_release_list() local
178 size_t acc_size = bo->acc_size; in ttm_bo_release_list()
180 BUG_ON(kref_read(&bo->list_kref)); in ttm_bo_release_list()
181 BUG_ON(kref_read(&bo->kref)); in ttm_bo_release_list()
[all …]
H A Dttm_bo_vm.c50 static vm_fault_t ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, in ttm_bo_vm_fault_idle() argument
56 if (likely(!bo->moving)) in ttm_bo_vm_fault_idle()
62 if (dma_fence_is_signaled(bo->moving)) in ttm_bo_vm_fault_idle()
74 ttm_bo_get(bo); in ttm_bo_vm_fault_idle()
76 (void) dma_fence_wait(bo->moving, true); in ttm_bo_vm_fault_idle()
77 dma_resv_unlock(bo->base.resv); in ttm_bo_vm_fault_idle()
78 ttm_bo_put(bo); in ttm_bo_vm_fault_idle()
85 err = dma_fence_wait(bo->moving, true); in ttm_bo_vm_fault_idle()
93 dma_fence_put(bo->moving); in ttm_bo_vm_fault_idle()
94 bo->moving = NULL; in ttm_bo_vm_fault_idle()
[all …]
H A Dttm_bo_util.c50 struct ttm_buffer_object *bo; member
58 void ttm_bo_free_old_node(struct ttm_buffer_object *bo) in ttm_bo_free_old_node() argument
60 ttm_bo_mem_put(bo, &bo->mem); in ttm_bo_free_old_node()
63 int ttm_bo_move_ttm(struct ttm_buffer_object *bo, in ttm_bo_move_ttm() argument
67 struct ttm_tt *ttm = bo->ttm; in ttm_bo_move_ttm()
68 struct ttm_mem_reg *old_mem = &bo->mem; in ttm_bo_move_ttm()
72 ret = ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu); in ttm_bo_move_ttm()
81 ttm_bo_free_old_node(bo); in ttm_bo_move_ttm()
126 struct ttm_buffer_object *bo; in ttm_mem_io_evict() local
131 bo = list_first_entry(&man->io_reserve_lru, in ttm_mem_io_evict()
[all …]
H A Dttm_execbuf_util.c45 struct ttm_buffer_object *bo = entry->bo; in ttm_eu_backoff_reservation_reverse() local
47 dma_resv_unlock(bo->base.resv); in ttm_eu_backoff_reservation_reverse()
61 struct ttm_buffer_object *bo = entry->bo; in ttm_eu_backoff_reservation() local
63 ttm_bo_move_to_lru_tail(bo, NULL); in ttm_eu_backoff_reservation()
64 dma_resv_unlock(bo->base.resv); in ttm_eu_backoff_reservation()
99 struct ttm_buffer_object *bo = entry->bo; in ttm_eu_reserve_buffers() local
101 ret = __ttm_bo_reserve(bo, intr, (ticket == NULL), ticket); in ttm_eu_reserve_buffers()
114 ret = dma_resv_reserve_shared(bo->base.resv, in ttm_eu_reserve_buffers()
128 ret = dma_resv_lock_slow_interruptible(bo->base.resv, in ttm_eu_reserve_buffers()
131 dma_resv_lock_slow(bo->base.resv, ticket); in ttm_eu_reserve_buffers()
[all …]
/netbsd-src/sys/external/bsd/drm2/dist/drm/amd/amdgpu/
H A Damdgpu_object.c69 static void amdgpu_bo_subtract_pin_size(struct amdgpu_bo *bo) in amdgpu_bo_subtract_pin_size() argument
71 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_bo_subtract_pin_size()
73 if (bo->tbo.mem.mem_type == TTM_PL_VRAM) { in amdgpu_bo_subtract_pin_size()
74 atomic64_sub(amdgpu_bo_size(bo), &adev->vram_pin_size); in amdgpu_bo_subtract_pin_size()
75 atomic64_sub(amdgpu_vram_mgr_bo_visible_size(bo), in amdgpu_bo_subtract_pin_size()
77 } else if (bo->tbo.mem.mem_type == TTM_PL_TT) { in amdgpu_bo_subtract_pin_size()
78 atomic64_sub(amdgpu_bo_size(bo), &adev->gart_pin_size); in amdgpu_bo_subtract_pin_size()
85 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_destroy() local
87 if (bo->pin_count > 0) in amdgpu_bo_destroy()
88 amdgpu_bo_subtract_pin_size(bo); in amdgpu_bo_destroy()
[all …]
H A Damdgpu_dma_buf.c58 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_gem_prime_vmap() local
61 ret = ttm_bo_kmap(&bo->tbo, 0, bo->tbo.num_pages, in amdgpu_gem_prime_vmap()
62 &bo->dma_buf_vmap); in amdgpu_gem_prime_vmap()
66 return bo->dma_buf_vmap.virtual; in amdgpu_gem_prime_vmap()
78 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_gem_prime_vunmap() local
80 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()
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()
126 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || in amdgpu_gem_prime_mmap()
[all …]
H A Damdgpu_object.h160 static inline int amdgpu_bo_reserve(struct amdgpu_bo *bo, bool no_intr) in amdgpu_bo_reserve() argument
162 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_bo_reserve()
165 r = __ttm_bo_reserve(&bo->tbo, !no_intr, false, NULL); in amdgpu_bo_reserve()
168 dev_err(adev->dev, "%p reserve failed\n", bo); in amdgpu_bo_reserve()
174 static inline void amdgpu_bo_unreserve(struct amdgpu_bo *bo) in amdgpu_bo_unreserve() argument
176 ttm_bo_unreserve(&bo->tbo); in amdgpu_bo_unreserve()
179 static inline unsigned long amdgpu_bo_size(struct amdgpu_bo *bo) in amdgpu_bo_size() argument
181 return bo->tbo.num_pages << PAGE_SHIFT; in amdgpu_bo_size()
184 static inline unsigned amdgpu_bo_ngpu_pages(struct amdgpu_bo *bo) in amdgpu_bo_ngpu_pages() argument
186 return (bo->tbo.num_pages << PAGE_SHIFT) / AMDGPU_GPU_PAGE_SIZE; in amdgpu_bo_ngpu_pages()
[all …]
H A Damdgpu_amdkfd_gpuvm.c204 void amdgpu_amdkfd_unreserve_memory_limit(struct amdgpu_bo *bo) in amdgpu_amdkfd_unreserve_memory_limit() argument
206 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_amdkfd_unreserve_memory_limit()
207 u32 domain = bo->preferred_domains; in amdgpu_amdkfd_unreserve_memory_limit()
208 bool sg = (bo->preferred_domains == AMDGPU_GEM_DOMAIN_CPU); in amdgpu_amdkfd_unreserve_memory_limit()
210 if (bo->flags & AMDGPU_AMDKFD_USERPTR_BO) { in amdgpu_amdkfd_unreserve_memory_limit()
215 unreserve_mem_limit(adev, amdgpu_bo_size(bo), domain, sg); in amdgpu_amdkfd_unreserve_memory_limit()
228 static int amdgpu_amdkfd_remove_eviction_fence(struct amdgpu_bo *bo, in amdgpu_amdkfd_remove_eviction_fence() argument
231 struct dma_resv *resv = bo->tbo.base.resv; in amdgpu_amdkfd_remove_eviction_fence()
284 static int amdgpu_amdkfd_bo_validate(struct amdgpu_bo *bo, uint32_t domain, in amdgpu_amdkfd_bo_validate() argument
290 if (WARN(amdgpu_ttm_tt_get_usermm(bo->tbo.ttm), in amdgpu_amdkfd_bo_validate()
[all …]
H A Damdgpu_mn.c72 struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier); in amdgpu_mn_invalidate_gfx() local
73 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_mn_invalidate_gfx()
83 r = dma_resv_wait_timeout_rcu(bo->tbo.base.resv, true, false, in amdgpu_mn_invalidate_gfx()
109 struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier); in amdgpu_mn_invalidate_hsa() local
110 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_mn_invalidate_hsa()
119 amdgpu_amdkfd_evict_userptr(bo->kfd_bo, bo->notifier.mm); in amdgpu_mn_invalidate_hsa()
138 int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr) in amdgpu_mn_register() argument
140 if (bo->kfd_bo) in amdgpu_mn_register()
141 return mmu_interval_notifier_insert(&bo->notifier, current->mm, in amdgpu_mn_register()
142 addr, amdgpu_bo_size(bo), in amdgpu_mn_register()
[all …]
H A Damdgpu_vm.c236 struct amdgpu_bo *bo = vm_bo->bo; in amdgpu_vm_bo_evicted() local
239 if (bo->tbo.type == ttm_bo_type_kernel) in amdgpu_vm_bo_evicted()
326 struct amdgpu_bo *bo) in amdgpu_vm_bo_base_init() argument
329 base->bo = bo; in amdgpu_vm_bo_base_init()
333 if (!bo) in amdgpu_vm_bo_base_init()
335 base->next = bo->vm_bo; in amdgpu_vm_bo_base_init()
336 bo->vm_bo = base; in amdgpu_vm_bo_base_init()
338 if (bo->tbo.base.resv != vm->root.base.bo->tbo.base.resv) in amdgpu_vm_bo_base_init()
342 if (bo->tbo.type == ttm_bo_type_kernel && bo->parent) in amdgpu_vm_bo_base_init()
347 if (bo->preferred_domains & in amdgpu_vm_bo_base_init()
[all …]
H A Damdgpu_bo_list.c61 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(e->tv.bo); in amdgpu_bo_list_free() local
63 amdgpu_bo_unref(&bo); in amdgpu_bo_list_free()
102 struct amdgpu_bo *bo; in amdgpu_bo_list_create() local
115 bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj)); in amdgpu_bo_list_create()
118 usermm = amdgpu_ttm_tt_get_usermm(bo->tbo.ttm); in amdgpu_bo_list_create()
121 amdgpu_bo_unref(&bo); in amdgpu_bo_list_create()
126 amdgpu_bo_unref(&bo); in amdgpu_bo_list_create()
138 entry->tv.bo = &bo->tbo; in amdgpu_bo_list_create()
140 if (bo->preferred_domains == AMDGPU_GEM_DOMAIN_GDS) in amdgpu_bo_list_create()
141 list->gds_obj = bo; in amdgpu_bo_list_create()
[all …]
H A Damdgpu_ttm.c70 static int amdgpu_map_buffer(struct ttm_buffer_object *bo,
151 static void amdgpu_evict_flags(struct ttm_buffer_object *bo, in amdgpu_evict_flags() argument
154 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev); in amdgpu_evict_flags()
163 if (bo->type == ttm_bo_type_sg) { in amdgpu_evict_flags()
170 if (!amdgpu_bo_is_amdgpu_bo(bo)) { in amdgpu_evict_flags()
178 abo = ttm_to_amdgpu_bo(bo); in amdgpu_evict_flags()
179 switch (bo->mem.mem_type) { in amdgpu_evict_flags()
228 static int amdgpu_verify_access(struct ttm_buffer_object *bo, struct file *filp) in amdgpu_verify_access() argument
230 struct amdgpu_bo *abo = ttm_to_amdgpu_bo(bo); in amdgpu_verify_access()
239 if (amdgpu_ttm_tt_get_usermm(bo->ttm)) in amdgpu_verify_access()
[all …]
/netbsd-src/sys/external/bsd/drm2/ttm/
H A Dttm_bo_vm.c83 struct ttm_buffer_object *const bo = container_of(uobj, in ttm_bo_uvm_reference() local
86 (void)ttm_bo_get(bo); in ttm_bo_uvm_reference()
92 struct ttm_buffer_object *bo = container_of(uobj, in ttm_bo_uvm_detach() local
95 ttm_bo_put(bo); in ttm_bo_uvm_detach()
99 ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, struct uvm_faultinfo *vmf) in ttm_bo_vm_fault_idle() argument
103 if (__predict_true(!bo->moving)) in ttm_bo_vm_fault_idle()
109 if (dma_fence_is_signaled(bo->moving)) in ttm_bo_vm_fault_idle()
119 ttm_bo_get(bo); in ttm_bo_vm_fault_idle()
121 (void) dma_fence_wait(bo->moving, true); in ttm_bo_vm_fault_idle()
122 dma_resv_unlock(bo->base.resv); in ttm_bo_vm_fault_idle()
[all …]
/netbsd-src/sys/external/bsd/drm2/dist/include/drm/ttm/
H A Dttm_bo_driver.h109 struct ttm_buffer_object *bo,
237 struct ttm_tt *(*ttm_tt_create)(struct ttm_buffer_object *bo,
295 bool (*eviction_valuable)(struct ttm_buffer_object *bo,
307 void (*evict_flags)(struct ttm_buffer_object *bo,
321 int (*move)(struct ttm_buffer_object *bo, bool evict,
337 int (*verify_access)(struct ttm_buffer_object *bo,
347 void (*move_notify)(struct ttm_buffer_object *bo,
352 int (*fault_reserve_notify)(struct ttm_buffer_object *bo);
357 void (*swap_notify)(struct ttm_buffer_object *bo);
380 unsigned long (*io_mem_pfn)(struct ttm_buffer_object *bo,
[all …]
/netbsd-src/sys/external/bsd/drm2/dist/drm/vmwgfx/
H A Dvmwgfx_bo.c61 vmw_buffer_object(struct ttm_buffer_object *bo) in vmw_buffer_object() argument
63 return container_of(bo, struct vmw_buffer_object, base); in vmw_buffer_object()
76 vmw_user_buffer_object(struct ttm_buffer_object *bo) in vmw_user_buffer_object() argument
78 struct vmw_buffer_object *vmw_bo = vmw_buffer_object(bo); in vmw_user_buffer_object()
100 struct ttm_buffer_object *bo = &buf->base; in vmw_bo_pin_in_placement() local
110 ret = ttm_bo_reserve(bo, interruptible, false, NULL); in vmw_bo_pin_in_placement()
115 ret = ttm_bo_mem_compat(placement, &bo->mem, in vmw_bo_pin_in_placement()
118 ret = ttm_bo_validate(bo, placement, &ctx); in vmw_bo_pin_in_placement()
123 ttm_bo_unreserve(bo); in vmw_bo_pin_in_placement()
149 struct ttm_buffer_object *bo = &buf->base; in vmw_bo_pin_in_vram_or_gmr() local
[all …]
/netbsd-src/sys/external/bsd/drm2/dist/drm/virtio/
H A Dvirtgpu_object.c71 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtio_gpu_free_object() local
72 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_free_object()
74 if (bo->pages) in virtio_gpu_free_object()
75 virtio_gpu_object_detach(vgdev, bo); in virtio_gpu_free_object()
76 if (bo->created) in virtio_gpu_free_object()
77 virtio_gpu_cmd_unref_resource(vgdev, bo->hw_res_handle); in virtio_gpu_free_object()
78 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_free_object()
100 struct virtio_gpu_object *bo; in virtio_gpu_create_object() local
102 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in virtio_gpu_create_object()
103 if (!bo) in virtio_gpu_create_object()
[all …]
/netbsd-src/sys/external/bsd/drm2/dist/drm/nouveau/
H A Dnouveau_bo.c138 nouveau_bo_del_ttm(struct ttm_buffer_object *bo) in nouveau_bo_del_ttm() argument
140 struct nouveau_drm *drm = nouveau_bdev(bo->bdev); in nouveau_bo_del_ttm()
142 struct nouveau_bo *nvbo = nouveau_bo(bo); in nouveau_bo_del_ttm()
151 if (bo->base.dev) in nouveau_bo_del_ttm()
152 drm_gem_object_release(&bo->base); in nouveau_bo_del_ttm()
169 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); in nouveau_bo_fixup_align()
220 nvbo->bo.bdev = &drm->ttm.bdev; in nouveau_bo_alloc()
308 acc_size = ttm_bo_dma_acc_size(nvbo->bo.bdev, size, sizeof(*nvbo)); in nouveau_bo_init()
310 nvbo->bo.mem.num_pages = size >> PAGE_SHIFT; in nouveau_bo_init()
313 ret = ttm_bo_init(nvbo->bo.bdev, &nvbo->bo, size, type, in nouveau_bo_init()
[all …]
H A Dnouveau_gem.c52 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); in nouveau_gem_object_del()
61 drm_prime_gem_destroy(gem, nvbo->bo.sg); in nouveau_gem_object_del()
63 ttm_bo_put(&nvbo->bo); in nouveau_gem_object_del()
74 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); in nouveau_gem_object_open()
83 ret = ttm_bo_reserve(&nvbo->bo, false, false, NULL); in nouveau_gem_object_open()
95 ttm_bo_unreserve(&nvbo->bo); in nouveau_gem_object_open()
149 struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev); in nouveau_gem_object_close()
158 ret = ttm_bo_reserve(&nvbo->bo, false, false, NULL); in nouveau_gem_object_close()
173 ttm_bo_unreserve(&nvbo->bo); in nouveau_gem_object_close()
203 ret = drm_gem_object_init(drm->dev, &nvbo->bo.base, size); in nouveau_gem_new()
[all …]

1234567891011