Home
last modified time | relevance | path

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

1234567891011

/kernel/linux/linux-5.10/drivers/staging/media/atomisp/pci/hmm/
Dhmm_bo.c58 static int __bo_init(struct hmm_bo_device *bdev, struct hmm_buffer_object *bo, in __bo_init() argument
70 memset(bo, 0, sizeof(*bo)); in __bo_init()
71 mutex_init(&bo->mutex); in __bo_init()
74 INIT_LIST_HEAD(&bo->list); in __bo_init()
76 bo->bdev = bdev; in __bo_init()
77 bo->vmap_addr = NULL; in __bo_init()
78 bo->status = HMM_BO_FREE; in __bo_init()
79 bo->start = bdev->start; in __bo_init()
80 bo->pgnr = pgnr; in __bo_init()
81 bo->end = bo->start + pgnr_to_size(pgnr); in __bo_init()
[all …]
Dhmm.c58 struct hmm_buffer_object *bo; in bo_show() local
73 list_for_each_entry(bo, bo_list, list) { in bo_show()
74 if ((active && (bo->status & HMM_BO_ALLOCED)) || in bo_show()
75 (!active && !(bo->status & HMM_BO_ALLOCED))) { in bo_show()
78 hmm_bo_type_string[bo->type], bo->pgnr); in bo_show()
80 total[bo->type] += bo->pgnr; in bo_show()
81 count[bo->type]++; in bo_show()
229 struct hmm_buffer_object *bo; in hmm_alloc() local
246 bo = hmm_bo_alloc(&bo_device, pgnr); in hmm_alloc()
247 if (!bo) { in hmm_alloc()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/qxl/
Dqxl_object.c32 struct qxl_bo *bo; in qxl_ttm_bo_destroy() local
35 bo = to_qxl_bo(tbo); in qxl_ttm_bo_destroy()
36 qdev = to_qxl(bo->tbo.base.dev); in qxl_ttm_bo_destroy()
38 qxl_surface_evict(qdev, bo, false); in qxl_ttm_bo_destroy()
39 WARN_ON_ONCE(bo->map_count > 0); in qxl_ttm_bo_destroy()
41 list_del_init(&bo->list); in qxl_ttm_bo_destroy()
43 drm_gem_object_release(&bo->tbo.base); in qxl_ttm_bo_destroy()
44 kfree(bo); in qxl_ttm_bo_destroy()
47 bool qxl_ttm_bo_is_qxl_bo(struct ttm_buffer_object *bo) in qxl_ttm_bo_is_qxl_bo() argument
49 if (bo->destroy == &qxl_ttm_bo_destroy) in qxl_ttm_bo_is_qxl_bo()
[all …]
Dqxl_object.h30 static inline int qxl_bo_reserve(struct qxl_bo *bo) in qxl_bo_reserve() argument
34 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()
46 static inline void qxl_bo_unreserve(struct qxl_bo *bo) in qxl_bo_unreserve() argument
48 ttm_bo_unreserve(&bo->tbo); in qxl_bo_unreserve()
51 static inline unsigned long qxl_bo_size(struct qxl_bo *bo) in qxl_bo_size() argument
53 return bo->tbo.num_pages << PAGE_SHIFT; in qxl_bo_size()
56 static inline u64 qxl_bo_mmap_offset(struct qxl_bo *bo) in qxl_bo_mmap_offset() argument
58 return drm_vma_node_offset_addr(&bo->tbo.base.vma_node); in qxl_bo_mmap_offset()
[all …]
Dqxl_release.c164 struct qxl_bo *bo; in qxl_release_free_list() local
168 bo = to_qxl_bo(entry->tv.bo); in qxl_release_free_list()
169 qxl_bo_unref(&bo); in qxl_release_free_list()
202 struct qxl_bo **bo, in qxl_release_bo_alloc() argument
207 QXL_GEM_DOMAIN_VRAM, priority, NULL, bo); in qxl_release_bo_alloc()
210 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo) in qxl_release_list_add() argument
215 if (entry->tv.bo == &bo->tbo) in qxl_release_list_add()
223 qxl_bo_ref(bo); in qxl_release_list_add()
224 entry->tv.bo = &bo->tbo; in qxl_release_list_add()
230 static int qxl_release_validate_bo(struct qxl_bo *bo) in qxl_release_validate_bo() argument
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/ttm/
Dttm_bo.c62 static void ttm_bo_default_destroy(struct ttm_buffer_object *bo) in ttm_bo_default_destroy() argument
64 kfree(bo); in ttm_bo_default_destroy()
67 static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo, in ttm_bo_mem_space_debug() argument
75 bo, bo->mem.num_pages, bo->mem.size >> 10, in ttm_bo_mem_space_debug()
76 bo->mem.size >> 20); in ttm_bo_mem_space_debug()
81 man = ttm_manager_type(bo->bdev, mem_type); in ttm_bo_mem_space_debug()
112 static void ttm_bo_add_mem_to_lru(struct ttm_buffer_object *bo, in ttm_bo_add_mem_to_lru() argument
115 struct ttm_bo_device *bdev = bo->bdev; in ttm_bo_add_mem_to_lru()
118 if (!list_empty(&bo->lru)) in ttm_bo_add_mem_to_lru()
125 list_add_tail(&bo->lru, &man->lru[bo->priority]); in ttm_bo_add_mem_to_lru()
[all …]
Dttm_bo_vm.c45 static vm_fault_t ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, in ttm_bo_vm_fault_idle() argument
51 if (likely(!bo->moving)) in ttm_bo_vm_fault_idle()
57 if (dma_fence_is_signaled(bo->moving)) in ttm_bo_vm_fault_idle()
70 ttm_bo_get(bo); in ttm_bo_vm_fault_idle()
72 (void) dma_fence_wait(bo->moving, true); in ttm_bo_vm_fault_idle()
73 dma_resv_unlock(bo->base.resv); in ttm_bo_vm_fault_idle()
74 ttm_bo_put(bo); in ttm_bo_vm_fault_idle()
81 err = dma_fence_wait(bo->moving, true); in ttm_bo_vm_fault_idle()
89 dma_fence_put(bo->moving); in ttm_bo_vm_fault_idle()
90 bo->moving = NULL; in ttm_bo_vm_fault_idle()
[all …]
Dttm_bo_util.c45 struct ttm_buffer_object *bo; member
48 void ttm_bo_free_old_node(struct ttm_buffer_object *bo) in ttm_bo_free_old_node() argument
50 ttm_resource_free(bo, &bo->mem); in ttm_bo_free_old_node()
53 int ttm_bo_move_ttm(struct ttm_buffer_object *bo, in ttm_bo_move_ttm() argument
57 struct ttm_tt *ttm = bo->ttm; in ttm_bo_move_ttm()
58 struct ttm_resource *old_mem = &bo->mem; in ttm_bo_move_ttm()
62 ret = ttm_bo_wait(bo, ctx->interruptible, ctx->no_wait_gpu); in ttm_bo_move_ttm()
70 ttm_bo_tt_unbind(bo); in ttm_bo_move_ttm()
71 ttm_bo_free_old_node(bo); in ttm_bo_move_ttm()
81 ret = ttm_tt_populate(bo->bdev, ttm, ctx); in ttm_bo_move_ttm()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/radeon/
Dradeon_object.c46 static void radeon_bo_clear_surface_reg(struct radeon_bo *bo);
53 static void radeon_update_memory_usage(struct radeon_bo *bo, in radeon_update_memory_usage() argument
56 struct radeon_device *rdev = bo->rdev; in radeon_update_memory_usage()
57 u64 size = (u64)bo->tbo.num_pages << PAGE_SHIFT; in radeon_update_memory_usage()
77 struct radeon_bo *bo; in radeon_ttm_bo_destroy() local
79 bo = container_of(tbo, struct radeon_bo, tbo); in radeon_ttm_bo_destroy()
81 radeon_update_memory_usage(bo, bo->tbo.mem.mem_type, -1); in radeon_ttm_bo_destroy()
83 mutex_lock(&bo->rdev->gem.mutex); in radeon_ttm_bo_destroy()
84 list_del_init(&bo->list); in radeon_ttm_bo_destroy()
85 mutex_unlock(&bo->rdev->gem.mutex); in radeon_ttm_bo_destroy()
[all …]
Dradeon_prime.c36 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_get_sg_table() local
37 int npages = bo->tbo.num_pages; in radeon_gem_prime_get_sg_table()
39 return drm_prime_pages_to_sg(obj->dev, bo->tbo.ttm->pages, npages); in radeon_gem_prime_get_sg_table()
44 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_vmap() local
47 ret = ttm_bo_kmap(&bo->tbo, 0, bo->tbo.num_pages, in radeon_gem_prime_vmap()
48 &bo->dma_buf_vmap); in radeon_gem_prime_vmap()
52 return bo->dma_buf_vmap.virtual; in radeon_gem_prime_vmap()
57 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_vunmap() local
59 ttm_bo_kunmap(&bo->dma_buf_vmap); in radeon_gem_prime_vunmap()
68 struct radeon_bo *bo; in radeon_gem_prime_import_sg_table() local
[all …]
Dradeon_object.h64 static inline int radeon_bo_reserve(struct radeon_bo *bo, bool no_intr) in radeon_bo_reserve() argument
68 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()
77 static inline void radeon_bo_unreserve(struct radeon_bo *bo) in radeon_bo_unreserve() argument
79 ttm_bo_unreserve(&bo->tbo); in radeon_bo_unreserve()
91 static inline u64 radeon_bo_gpu_offset(struct radeon_bo *bo) in radeon_bo_gpu_offset() argument
96 rdev = radeon_get_rdev(bo->tbo.bdev); in radeon_bo_gpu_offset()
98 switch (bo->tbo.mem.mem_type) { in radeon_bo_gpu_offset()
107 return (bo->tbo.mem.start << PAGE_SHIFT) + start; in radeon_bo_gpu_offset()
110 static inline unsigned long radeon_bo_size(struct radeon_bo *bo) in radeon_bo_size() argument
[all …]
Dradeon_mn.c52 struct radeon_bo *bo = container_of(mn, struct radeon_bo, notifier); in radeon_mn_invalidate() local
56 if (!bo->tbo.ttm || !radeon_ttm_tt_is_bound(bo->tbo.bdev, bo->tbo.ttm)) in radeon_mn_invalidate()
62 r = radeon_bo_reserve(bo, true); in radeon_mn_invalidate()
68 r = dma_resv_wait_timeout_rcu(bo->tbo.base.resv, true, false, in radeon_mn_invalidate()
73 radeon_ttm_placement_from_domain(bo, RADEON_GEM_DOMAIN_CPU); in radeon_mn_invalidate()
74 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in radeon_mn_invalidate()
78 radeon_bo_unreserve(bo); in radeon_mn_invalidate()
95 int radeon_mn_register(struct radeon_bo *bo, unsigned long addr) in radeon_mn_register() argument
99 ret = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr, in radeon_mn_register()
100 radeon_bo_size(bo), &radeon_mn_ops); in radeon_mn_register()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/tegra/
Dgem.c23 static void tegra_bo_put(struct host1x_bo *bo) in tegra_bo_put() argument
25 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_put()
53 static struct sg_table *tegra_bo_pin(struct device *dev, struct host1x_bo *bo, in tegra_bo_pin() argument
56 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_pin()
132 static void *tegra_bo_mmap(struct host1x_bo *bo) in tegra_bo_mmap() argument
134 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_mmap()
145 static void tegra_bo_munmap(struct host1x_bo *bo, void *addr) in tegra_bo_munmap() argument
147 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_munmap()
157 static struct host1x_bo *tegra_bo_get(struct host1x_bo *bo) in tegra_bo_get() argument
159 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_get()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/
Damdgpu_object.c63 static void amdgpu_bo_subtract_pin_size(struct amdgpu_bo *bo) in amdgpu_bo_subtract_pin_size() argument
65 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_bo_subtract_pin_size()
67 if (bo->tbo.mem.mem_type == TTM_PL_VRAM) { in amdgpu_bo_subtract_pin_size()
68 atomic64_sub(amdgpu_bo_size(bo), &adev->vram_pin_size); in amdgpu_bo_subtract_pin_size()
69 atomic64_sub(amdgpu_vram_mgr_bo_visible_size(bo), in amdgpu_bo_subtract_pin_size()
71 } else if (bo->tbo.mem.mem_type == TTM_PL_TT) { in amdgpu_bo_subtract_pin_size()
72 atomic64_sub(amdgpu_bo_size(bo), &adev->gart_pin_size); in amdgpu_bo_subtract_pin_size()
79 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_destroy() local
81 if (bo->pin_count > 0) in amdgpu_bo_destroy()
82 amdgpu_bo_subtract_pin_size(bo); in amdgpu_bo_destroy()
[all …]
Damdgpu_dma_buf.c55 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_gem_prime_vmap() local
58 ret = ttm_bo_kmap(&bo->tbo, 0, bo->tbo.num_pages, in amdgpu_gem_prime_vmap()
59 &bo->dma_buf_vmap); in amdgpu_gem_prime_vmap()
63 return bo->dma_buf_vmap.virtual; in amdgpu_gem_prime_vmap()
75 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_gem_prime_vunmap() local
77 ttm_bo_kunmap(&bo->dma_buf_vmap); in amdgpu_gem_prime_vunmap()
94 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_gem_prime_mmap() local
95 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_gem_prime_mmap()
96 unsigned asize = amdgpu_bo_size(bo); in amdgpu_gem_prime_mmap()
109 if (amdgpu_ttm_tt_get_usermm(bo->tbo.ttm) || in amdgpu_gem_prime_mmap()
[all …]
Damdgpu_object.h158 static inline int amdgpu_bo_reserve(struct amdgpu_bo *bo, bool no_intr) in amdgpu_bo_reserve() argument
160 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_bo_reserve()
163 r = ttm_bo_reserve(&bo->tbo, !no_intr, false, NULL); in amdgpu_bo_reserve()
166 dev_err(adev->dev, "%p reserve failed\n", bo); in amdgpu_bo_reserve()
172 static inline void amdgpu_bo_unreserve(struct amdgpu_bo *bo) in amdgpu_bo_unreserve() argument
174 ttm_bo_unreserve(&bo->tbo); in amdgpu_bo_unreserve()
177 static inline unsigned long amdgpu_bo_size(struct amdgpu_bo *bo) in amdgpu_bo_size() argument
179 return bo->tbo.num_pages << PAGE_SHIFT; in amdgpu_bo_size()
182 static inline unsigned amdgpu_bo_ngpu_pages(struct amdgpu_bo *bo) in amdgpu_bo_ngpu_pages() argument
184 return (bo->tbo.num_pages << PAGE_SHIFT) / AMDGPU_GPU_PAGE_SIZE; in amdgpu_bo_ngpu_pages()
[all …]
Damdgpu_mn.c67 struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier); in amdgpu_mn_invalidate_gfx() local
68 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_mn_invalidate_gfx()
78 r = dma_resv_wait_timeout_rcu(bo->tbo.base.resv, true, false, in amdgpu_mn_invalidate_gfx()
104 struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier); in amdgpu_mn_invalidate_hsa() local
105 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_mn_invalidate_hsa()
114 amdgpu_amdkfd_evict_userptr(bo->kfd_bo, bo->notifier.mm); in amdgpu_mn_invalidate_hsa()
133 int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr) in amdgpu_mn_register() argument
135 if (bo->kfd_bo) in amdgpu_mn_register()
136 return mmu_interval_notifier_insert(&bo->notifier, current->mm, in amdgpu_mn_register()
137 addr, amdgpu_bo_size(bo), in amdgpu_mn_register()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/vc4/
Dvc4_bo.c130 struct vc4_bo *bo = to_vc4_bo(gem_obj); in vc4_bo_set_label() local
140 vc4->bo_labels[bo->label].num_allocated--; in vc4_bo_set_label()
141 vc4->bo_labels[bo->label].size_allocated -= gem_obj->size; in vc4_bo_set_label()
143 if (vc4->bo_labels[bo->label].num_allocated == 0 && in vc4_bo_set_label()
144 is_user_label(bo->label)) { in vc4_bo_set_label()
150 kfree(vc4->bo_labels[bo->label].name); in vc4_bo_set_label()
151 vc4->bo_labels[bo->label].name = NULL; in vc4_bo_set_label()
154 bo->label = label; in vc4_bo_set_label()
162 static void vc4_bo_destroy(struct vc4_bo *bo) in vc4_bo_destroy() argument
164 struct drm_gem_object *obj = &bo->base.base; in vc4_bo_destroy()
[all …]
/kernel/linux/linux-5.10/include/drm/ttm/
Dttm_bo_driver.h68 struct ttm_tt *(*ttm_tt_create)(struct ttm_buffer_object *bo,
138 bool (*eviction_valuable)(struct ttm_buffer_object *bo,
150 void (*evict_flags)(struct ttm_buffer_object *bo,
164 int (*move)(struct ttm_buffer_object *bo, bool evict,
180 int (*verify_access)(struct ttm_buffer_object *bo,
190 void (*move_notify)(struct ttm_buffer_object *bo,
195 int (*fault_reserve_notify)(struct ttm_buffer_object *bo);
200 void (*swap_notify)(struct ttm_buffer_object *bo);
219 unsigned long (*io_mem_pfn)(struct ttm_buffer_object *bo,
236 int (*access_memory)(struct ttm_buffer_object *bo, unsigned long offset,
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/lima/
Dlima_gem.c20 int lima_heap_alloc(struct lima_bo *bo, struct lima_vm *vm) in lima_heap_alloc() argument
23 struct address_space *mapping = bo->base.base.filp->f_mapping; in lima_heap_alloc()
24 struct device *dev = bo->base.base.dev->dev; in lima_heap_alloc()
25 size_t old_size = bo->heap_size; in lima_heap_alloc()
26 size_t new_size = bo->heap_size ? bo->heap_size * 2 : in lima_heap_alloc()
31 if (bo->heap_size >= bo->base.base.size) in lima_heap_alloc()
34 new_size = min(new_size, bo->base.base.size); in lima_heap_alloc()
36 mutex_lock(&bo->base.pages_lock); in lima_heap_alloc()
38 if (bo->base.pages) { in lima_heap_alloc()
39 pages = bo->base.pages; in lima_heap_alloc()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/panfrost/
Dpanfrost_gem.c19 struct panfrost_gem_object *bo = to_panfrost_bo(obj); in panfrost_gem_free_object() local
29 list_del_init(&bo->base.madv_list); in panfrost_gem_free_object()
36 WARN_ON_ONCE(!list_empty(&bo->mappings.list)); in panfrost_gem_free_object()
38 if (bo->sgts) { in panfrost_gem_free_object()
40 int n_sgt = bo->base.base.size / SZ_2M; in panfrost_gem_free_object()
43 if (bo->sgts[i].sgl) { in panfrost_gem_free_object()
44 dma_unmap_sgtable(pfdev->dev, &bo->sgts[i], in panfrost_gem_free_object()
46 sg_free_table(&bo->sgts[i]); in panfrost_gem_free_object()
49 kvfree(bo->sgts); in panfrost_gem_free_object()
56 panfrost_gem_mapping_get(struct panfrost_gem_object *bo, in panfrost_gem_mapping_get() argument
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/v3d/
Dv3d_bo.c34 struct v3d_bo *bo = to_v3d_bo(obj); in v3d_free_object() local
36 v3d_mmu_remove_ptes(bo); in v3d_free_object()
44 drm_mm_remove_node(&bo->node); in v3d_free_object()
48 bo->base.pages_mark_dirty_on_put = true; in v3d_free_object()
69 struct v3d_bo *bo; in v3d_create_object() local
75 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in v3d_create_object()
76 if (!bo) in v3d_create_object()
78 obj = &bo->base.base; in v3d_create_object()
82 INIT_LIST_HEAD(&bo->unref_head); in v3d_create_object()
84 return &bo->base.base; in v3d_create_object()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/vmwgfx/
Dvmwgfx_bo.c56 vmw_buffer_object(struct ttm_buffer_object *bo) in vmw_buffer_object() argument
58 return container_of(bo, struct vmw_buffer_object, base); in vmw_buffer_object()
71 vmw_user_buffer_object(struct ttm_buffer_object *bo) in vmw_user_buffer_object() argument
73 struct vmw_buffer_object *vmw_bo = vmw_buffer_object(bo); in vmw_user_buffer_object()
95 struct ttm_buffer_object *bo = &buf->base; in vmw_bo_pin_in_placement() local
105 ret = ttm_bo_reserve(bo, interruptible, false, NULL); in vmw_bo_pin_in_placement()
110 ret = ttm_bo_mem_compat(placement, &bo->mem, in vmw_bo_pin_in_placement()
113 ret = ttm_bo_validate(bo, placement, &ctx); in vmw_bo_pin_in_placement()
118 ttm_bo_unreserve(bo); in vmw_bo_pin_in_placement()
144 struct ttm_buffer_object *bo = &buf->base; in vmw_bo_pin_in_vram_or_gmr() local
[all …]
/kernel/linux/linux-5.10/drivers/staging/media/atomisp/include/hmm/
Dhmm_bo.h41 #define check_bo_status_yes_goto(bo, _status, label) \ argument
42 var_not_equal_goto((bo->status & (_status)), (_status), \
47 #define check_bo_status_no_goto(bo, _status, label) \ argument
48 var_equal_goto((bo->status & (_status)), (_status), \
62 #define check_bo_null_return(bo, exp) \ argument
63 check_null_return(bo, exp, "NULL hmm buffer object.\n")
65 #define check_bo_null_return_void(bo) \ argument
66 check_null_return_void(bo, "NULL hmm buffer object.\n")
165 void hmm_bo_release(struct hmm_buffer_object *bo);
184 void hmm_bo_ref(struct hmm_buffer_object *bo);
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/virtio/
Dvirtgpu_object.c65 void virtio_gpu_cleanup_object(struct virtio_gpu_object *bo) in virtio_gpu_cleanup_object() argument
67 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_cleanup_object()
69 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_cleanup_object()
70 if (virtio_gpu_is_shmem(bo)) { in virtio_gpu_cleanup_object()
71 struct virtio_gpu_object_shmem *shmem = to_virtio_gpu_shmem(bo); in virtio_gpu_cleanup_object()
83 drm_gem_shmem_unpin(&bo->base.base); in virtio_gpu_cleanup_object()
86 drm_gem_shmem_free_object(&bo->base.base); in virtio_gpu_cleanup_object()
92 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtio_gpu_free_object() local
93 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_free_object()
95 if (bo->created) { in virtio_gpu_free_object()
[all …]

1234567891011