Home
last modified time | relevance | path

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

12345678910>>...14

/openbmc/linux/drivers/staging/media/atomisp/pci/hmm/
H A Dhmm_bo.c47 static int __bo_init(struct hmm_bo_device *bdev, struct hmm_buffer_object *bo, in __bo_init() argument
59 memset(bo, 0, sizeof(*bo)); in __bo_init()
60 mutex_init(&bo->mutex); in __bo_init()
63 INIT_LIST_HEAD(&bo->list); in __bo_init()
65 bo->bdev = bdev; in __bo_init()
66 bo->vmap_addr = NULL; in __bo_init()
67 bo->status = HMM_BO_FREE; in __bo_init()
68 bo->start = bdev->start; in __bo_init()
69 bo->pgnr = pgnr; in __bo_init()
70 bo->end = bo->start + pgnr_to_size(pgnr); in __bo_init()
[all …]
H A Dhmm.c52 struct hmm_buffer_object *bo; in bo_show() local
67 list_for_each_entry(bo, bo_list, list) { in bo_show()
68 if ((active && (bo->status & HMM_BO_ALLOCED)) || in bo_show()
69 (!active && !(bo->status & HMM_BO_ALLOCED))) { in bo_show()
72 hmm_bo_type_string[bo->type], bo->pgnr); in bo_show()
74 total[bo->type] += bo->pgnr; in bo_show()
75 count[bo->type]++; in bo_show()
173 struct hmm_buffer_object *bo; in __hmm_alloc() local
187 bo = hmm_bo_alloc(&bo_device, pgnr); in __hmm_alloc()
188 if (!bo) { in __hmm_alloc()
[all …]
/openbmc/linux/drivers/accel/ivpu/
H A Divpu_gem.c29 static int __must_check prime_alloc_pages_locked(struct ivpu_bo *bo) in prime_alloc_pages_locked() argument
35 static void prime_free_pages_locked(struct ivpu_bo *bo) in prime_free_pages_locked() argument
40 static int prime_map_pages_locked(struct ivpu_bo *bo) in prime_map_pages_locked() argument
42 struct ivpu_device *vdev = ivpu_bo_to_vdev(bo); in prime_map_pages_locked()
45 sgt = dma_buf_map_attachment_unlocked(bo->base.import_attach, DMA_BIDIRECTIONAL); in prime_map_pages_locked()
51 bo->sgt = sgt; in prime_map_pages_locked()
55 static void prime_unmap_pages_locked(struct ivpu_bo *bo) in prime_unmap_pages_locked() argument
57 dma_buf_unmap_attachment_unlocked(bo->base.import_attach, bo->sgt, DMA_BIDIRECTIONAL); in prime_unmap_pages_locked()
58 bo->sgt = NULL; in prime_unmap_pages_locked()
70 static int __must_check shmem_alloc_pages_locked(struct ivpu_bo *bo) in shmem_alloc_pages_locked() argument
[all …]
H A Divpu_gem.h45 int (*alloc_pages)(struct ivpu_bo *bo);
46 void (*free_pages)(struct ivpu_bo *bo);
47 int (*map_pages)(struct ivpu_bo *bo);
48 void (*unmap_pages)(struct ivpu_bo *bo);
51 int ivpu_bo_pin(struct ivpu_bo *bo);
58 void ivpu_bo_free_internal(struct ivpu_bo *bo);
60 void ivpu_bo_unmap_sgt_and_remove_from_context(struct ivpu_bo *bo);
71 static inline struct page *ivpu_bo_get_page(struct ivpu_bo *bo, u64 offset) in ivpu_bo_get_page() argument
73 if (offset > bo->base.size || !bo->pages) in ivpu_bo_get_page()
76 return bo->pages[offset / PAGE_SIZE]; in ivpu_bo_get_page()
[all …]
/openbmc/linux/drivers/gpu/drm/ttm/
H A Dttm_bo.c49 static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo, in ttm_bo_mem_space_debug() argument
60 man = ttm_manager_type(bo->bdev, mem_type); in ttm_bo_mem_space_debug()
74 void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo) in ttm_bo_move_to_lru_tail() argument
76 dma_resv_assert_held(bo->base.resv); in ttm_bo_move_to_lru_tail()
78 if (bo->resource) in ttm_bo_move_to_lru_tail()
79 ttm_resource_move_to_lru_tail(bo->resource); in ttm_bo_move_to_lru_tail()
97 void ttm_bo_set_bulk_move(struct ttm_buffer_object *bo, in ttm_bo_set_bulk_move() argument
100 dma_resv_assert_held(bo->base.resv); in ttm_bo_set_bulk_move()
102 if (bo->bulk_move == bulk) in ttm_bo_set_bulk_move()
105 spin_lock(&bo->bdev->lru_lock); in ttm_bo_set_bulk_move()
[all …]
H A Dttm_bo_util.c42 struct ttm_buffer_object *bo; member
142 int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, in ttm_bo_move_memcpy() argument
146 struct ttm_device *bdev = bo->bdev; in ttm_bo_move_memcpy()
148 ttm_manager_type(bo->bdev, dst_mem->mem_type); in ttm_bo_move_memcpy()
149 struct ttm_tt *ttm = bo->ttm; in ttm_bo_move_memcpy()
150 struct ttm_resource *src_mem = bo->resource; in ttm_bo_move_memcpy()
173 dst_iter = ttm_kmap_iter_tt_init(&_dst_iter.tt, bo->ttm); in ttm_bo_move_memcpy()
179 src_iter = ttm_kmap_iter_tt_init(&_src_iter.tt, bo->ttm); in ttm_bo_move_memcpy()
191 ttm_bo_move_sync_cleanup(bo, dst_mem); in ttm_bo_move_memcpy()
201 static void ttm_transfered_destroy(struct ttm_buffer_object *bo) in ttm_transfered_destroy() argument
[all …]
H A Dttm_bo_vm.c41 static vm_fault_t ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, in ttm_bo_vm_fault_idle() argument
49 if (dma_resv_test_signaled(bo->base.resv, DMA_RESV_USAGE_KERNEL)) in ttm_bo_vm_fault_idle()
61 ttm_bo_get(bo); in ttm_bo_vm_fault_idle()
63 (void)dma_resv_wait_timeout(bo->base.resv, in ttm_bo_vm_fault_idle()
66 dma_resv_unlock(bo->base.resv); in ttm_bo_vm_fault_idle()
67 ttm_bo_put(bo); in ttm_bo_vm_fault_idle()
74 err = dma_resv_wait_timeout(bo->base.resv, DMA_RESV_USAGE_KERNEL, true, in ttm_bo_vm_fault_idle()
84 static unsigned long ttm_bo_io_mem_pfn(struct ttm_buffer_object *bo, in ttm_bo_io_mem_pfn() argument
87 struct ttm_device *bdev = bo->bdev; in ttm_bo_io_mem_pfn()
90 return bdev->funcs->io_mem_pfn(bo, page_offset); in ttm_bo_io_mem_pfn()
[all …]
/openbmc/linux/drivers/gpu/drm/qxl/
H A Dqxl_object.c32 static int __qxl_bo_pin(struct qxl_bo *bo);
33 static void __qxl_bo_unpin(struct qxl_bo *bo);
37 struct qxl_bo *bo; in qxl_ttm_bo_destroy() local
40 bo = to_qxl_bo(tbo); in qxl_ttm_bo_destroy()
41 qdev = to_qxl(bo->tbo.base.dev); 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()
[all …]
H A 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.base.size; in qxl_bo_size()
62 int qxl_bo_vmap(struct qxl_bo *bo, struct iosys_map *map);
63 int qxl_bo_vmap_locked(struct qxl_bo *bo, struct iosys_map *map);
[all …]
H A Dqxl_release.c124 struct qxl_bo *bo; in qxl_release_free_list() local
128 bo = to_qxl_bo(entry->tv.bo); in qxl_release_free_list()
129 qxl_bo_unref(&bo); in qxl_release_free_list()
163 struct qxl_bo **bo, in qxl_release_bo_alloc() argument
168 QXL_GEM_DOMAIN_VRAM, priority, NULL, bo); in qxl_release_bo_alloc()
171 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo) in qxl_release_list_add() argument
176 if (entry->tv.bo == &bo->tbo) in qxl_release_list_add()
184 qxl_bo_ref(bo); in qxl_release_list_add()
185 entry->tv.bo = &bo->tbo; in qxl_release_list_add()
191 static int qxl_release_validate_bo(struct qxl_bo *bo) in qxl_release_validate_bo() argument
[all …]
/openbmc/linux/drivers/gpu/drm/radeon/
H A Dradeon_object.c45 static void radeon_bo_clear_surface_reg(struct radeon_bo *bo);
54 struct radeon_bo *bo; in radeon_ttm_bo_destroy() local
56 bo = container_of(tbo, struct radeon_bo, tbo); in radeon_ttm_bo_destroy()
58 mutex_lock(&bo->rdev->gem.mutex); in radeon_ttm_bo_destroy()
59 list_del_init(&bo->list); in radeon_ttm_bo_destroy()
60 mutex_unlock(&bo->rdev->gem.mutex); in radeon_ttm_bo_destroy()
61 radeon_bo_clear_surface_reg(bo); in radeon_ttm_bo_destroy()
62 WARN_ON_ONCE(!list_empty(&bo->va)); in radeon_ttm_bo_destroy()
63 if (bo->tbo.base.import_attach) in radeon_ttm_bo_destroy()
64 drm_prime_gem_destroy(&bo->tbo.base, bo->tbo.sg); in radeon_ttm_bo_destroy()
[all …]
H A 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.resource->mem_type) { in radeon_bo_gpu_offset()
107 return (bo->tbo.resource->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 …]
H A Dradeon_prime.c39 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_get_sg_table() local
41 return drm_prime_pages_to_sg(obj->dev, bo->tbo.ttm->pages, in radeon_gem_prime_get_sg_table()
42 bo->tbo.ttm->num_pages); in radeon_gem_prime_get_sg_table()
51 struct radeon_bo *bo; in radeon_gem_prime_import_sg_table() local
56 RADEON_GEM_DOMAIN_GTT, 0, sg, resv, &bo); in radeon_gem_prime_import_sg_table()
61 bo->tbo.base.funcs = &radeon_gem_object_funcs; in radeon_gem_prime_import_sg_table()
64 list_add_tail(&bo->list, &rdev->gem.objects); in radeon_gem_prime_import_sg_table()
67 bo->prime_shared_count = 1; in radeon_gem_prime_import_sg_table()
68 return &bo->tbo.base; in radeon_gem_prime_import_sg_table()
73 struct radeon_bo *bo = gem_to_radeon_bo(obj); in radeon_gem_prime_pin() local
[all …]
H A Dradeon_mn.c53 struct radeon_bo *bo = container_of(mn, struct radeon_bo, notifier); in radeon_mn_invalidate() local
57 if (!bo->tbo.ttm || !radeon_ttm_tt_is_bound(bo->tbo.bdev, bo->tbo.ttm)) in radeon_mn_invalidate()
63 r = radeon_bo_reserve(bo, true); in radeon_mn_invalidate()
69 r = dma_resv_wait_timeout(bo->tbo.base.resv, DMA_RESV_USAGE_BOOKKEEP, in radeon_mn_invalidate()
74 radeon_ttm_placement_from_domain(bo, RADEON_GEM_DOMAIN_CPU); in radeon_mn_invalidate()
75 r = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in radeon_mn_invalidate()
79 radeon_bo_unreserve(bo); in radeon_mn_invalidate()
96 int radeon_mn_register(struct radeon_bo *bo, unsigned long addr) in radeon_mn_register() argument
100 ret = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr, in radeon_mn_register()
101 radeon_bo_size(bo), &radeon_mn_ops); in radeon_mn_register()
[all …]
/openbmc/linux/drivers/gpu/drm/tegra/
H A Dgem.c52 static void tegra_bo_put(struct host1x_bo *bo) in tegra_bo_put() argument
54 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_put()
59 static struct host1x_bo_mapping *tegra_bo_pin(struct device *dev, struct host1x_bo *bo, in tegra_bo_pin() argument
62 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_pin()
72 map->bo = host1x_bo_get(bo); in tegra_bo_pin()
173 host1x_bo_put(map->bo); in tegra_bo_unpin()
177 static void *tegra_bo_mmap(struct host1x_bo *bo) in tegra_bo_mmap() argument
179 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_mmap()
194 static void tegra_bo_munmap(struct host1x_bo *bo, void *addr) in tegra_bo_munmap() argument
196 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_munmap()
[all …]
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_object.c58 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_destroy() local
60 amdgpu_bo_kunmap(bo); in amdgpu_bo_destroy()
62 if (bo->tbo.base.import_attach) in amdgpu_bo_destroy()
63 drm_prime_gem_destroy(&bo->tbo.base, bo->tbo.sg); in amdgpu_bo_destroy()
64 drm_gem_object_release(&bo->tbo.base); in amdgpu_bo_destroy()
65 amdgpu_bo_unref(&bo->parent); in amdgpu_bo_destroy()
66 kvfree(bo); in amdgpu_bo_destroy()
71 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_user_destroy() local
74 ubo = to_amdgpu_bo_user(bo); in amdgpu_bo_user_destroy()
82 struct amdgpu_bo *shadow_bo = ttm_to_amdgpu_bo(tbo), *bo; in amdgpu_bo_vm_destroy() local
[all …]
H A Damdgpu_object.h45 #define to_amdgpu_bo_user(abo) container_of((abo), struct amdgpu_bo_user, bo)
46 #define to_amdgpu_bo_vm(abo) container_of((abo), struct amdgpu_bo_vm, bo)
58 void (*destroy)(struct ttm_buffer_object *bo);
123 struct amdgpu_bo bo; member
132 struct amdgpu_bo bo; member
208 static inline int amdgpu_bo_reserve(struct amdgpu_bo *bo, bool no_intr) in amdgpu_bo_reserve() argument
210 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_bo_reserve()
213 r = ttm_bo_reserve(&bo->tbo, !no_intr, false, NULL); in amdgpu_bo_reserve()
216 dev_err(adev->dev, "%p reserve failed\n", bo); in amdgpu_bo_reserve()
222 static inline void amdgpu_bo_unreserve(struct amdgpu_bo *bo) in amdgpu_bo_unreserve() argument
[all …]
H A Damdgpu_dma_buf.c58 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_attach() local
59 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_attach()
88 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_detach() local
89 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_detach()
105 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_pin() local
108 return amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_dma_buf_pin()
121 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_unpin() local
123 amdgpu_bo_unpin(bo); in amdgpu_dma_buf_unpin()
144 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_map() local
145 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_map()
[all …]
H A Damdgpu_amdkfd_gpuvm.c284 void amdgpu_amdkfd_release_notify(struct amdgpu_bo *bo) in amdgpu_amdkfd_release_notify() argument
286 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_amdkfd_release_notify()
287 u32 alloc_flags = bo->kfd_bo->alloc_flags; in amdgpu_amdkfd_release_notify()
288 u64 size = amdgpu_bo_size(bo); in amdgpu_amdkfd_release_notify()
291 bo->xcp_id); in amdgpu_amdkfd_release_notify()
293 kfree(bo->kfd_bo); in amdgpu_amdkfd_release_notify()
313 ret = amdgpu_bo_reserve(mem->bo, false); in create_dmamap_sg_bo()
318 flags |= mem->bo->flags & (AMDGPU_GEM_CREATE_COHERENT | in create_dmamap_sg_bo()
321 ret = amdgpu_gem_object_create(adev, mem->bo->tbo.base.size, 1, in create_dmamap_sg_bo()
323 ttm_bo_type_sg, mem->bo->tbo.base.resv, &gem_obj, 0); in create_dmamap_sg_bo()
[all …]
/openbmc/linux/drivers/gpu/drm/vc4/
H A Dvc4_bo.c134 struct vc4_bo *bo = to_vc4_bo(gem_obj); in vc4_bo_set_label() local
144 vc4->bo_labels[bo->label].num_allocated--; in vc4_bo_set_label()
145 vc4->bo_labels[bo->label].size_allocated -= gem_obj->size; in vc4_bo_set_label()
147 if (vc4->bo_labels[bo->label].num_allocated == 0 && in vc4_bo_set_label()
148 is_user_label(bo->label)) { in vc4_bo_set_label()
154 kfree(vc4->bo_labels[bo->label].name); in vc4_bo_set_label()
155 vc4->bo_labels[bo->label].name = NULL; in vc4_bo_set_label()
158 bo->label = label; in vc4_bo_set_label()
166 static void vc4_bo_destroy(struct vc4_bo *bo) in vc4_bo_destroy() argument
168 struct drm_gem_object *obj = &bo->base.base; in vc4_bo_destroy()
[all …]
/openbmc/linux/include/drm/ttm/
H A Dttm_bo.h160 struct ttm_buffer_object *bo; member
193 static inline void ttm_bo_get(struct ttm_buffer_object *bo) in ttm_bo_get() argument
195 kref_get(&bo->kref); in ttm_bo_get()
209 ttm_bo_get_unless_zero(struct ttm_buffer_object *bo) in ttm_bo_get_unless_zero() argument
211 if (!kref_get_unless_zero(&bo->kref)) in ttm_bo_get_unless_zero()
213 return bo; in ttm_bo_get_unless_zero()
238 static inline int ttm_bo_reserve(struct ttm_buffer_object *bo, in ttm_bo_reserve() argument
250 success = dma_resv_trylock(bo->base.resv); in ttm_bo_reserve()
255 ret = dma_resv_lock_interruptible(bo->base.resv, ticket); in ttm_bo_reserve()
257 ret = dma_resv_lock(bo->base.resv, ticket); in ttm_bo_reserve()
[all …]
/openbmc/linux/drivers/gpu/drm/lima/
H A Dlima_gem.c21 int lima_heap_alloc(struct lima_bo *bo, struct lima_vm *vm) in lima_heap_alloc() argument
24 struct address_space *mapping = bo->base.base.filp->f_mapping; in lima_heap_alloc()
25 struct device *dev = bo->base.base.dev->dev; in lima_heap_alloc()
26 size_t old_size = bo->heap_size; in lima_heap_alloc()
27 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()
35 new_size = min(new_size, bo->base.base.size); in lima_heap_alloc()
37 dma_resv_lock(bo->base.base.resv, NULL); in lima_heap_alloc()
39 if (bo->base.pages) { in lima_heap_alloc()
40 pages = bo->base.pages; in lima_heap_alloc()
[all …]
/openbmc/linux/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_bo.c48 static void vmw_bo_free(struct ttm_buffer_object *bo) in vmw_bo_free() argument
50 struct vmw_bo *vbo = to_vmw_bo(&bo->base); in vmw_bo_free()
74 struct ttm_buffer_object *bo = &buf->tbo; in vmw_bo_pin_in_placement() local
79 ret = ttm_bo_reserve(bo, interruptible, false, NULL); in vmw_bo_pin_in_placement()
83 ret = ttm_bo_validate(bo, placement, &ctx); in vmw_bo_pin_in_placement()
87 ttm_bo_unreserve(bo); in vmw_bo_pin_in_placement()
110 struct ttm_buffer_object *bo = &buf->tbo; in vmw_bo_pin_in_vram_or_gmr() local
115 ret = ttm_bo_reserve(bo, interruptible, false, NULL); in vmw_bo_pin_in_vram_or_gmr()
122 ret = ttm_bo_validate(bo, &buf->placement, &ctx); in vmw_bo_pin_in_vram_or_gmr()
129 ret = ttm_bo_validate(bo, &buf->placement, &ctx); in vmw_bo_pin_in_vram_or_gmr()
[all …]
/openbmc/linux/drivers/gpu/drm/panfrost/
H A 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()
52 drm_gem_shmem_free(&bo->base); in panfrost_gem_free_object()
[all …]
/openbmc/linux/drivers/gpu/drm/v3d/
H A 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()
50 drm_gem_shmem_free(&bo->base); in v3d_free_object()
70 struct v3d_bo *bo; in v3d_create_object() local
76 bo = kzalloc(sizeof(*bo), GFP_KERNEL); in v3d_create_object()
77 if (!bo) in v3d_create_object()
79 obj = &bo->base.base; in v3d_create_object()
82 bo->base.map_wc = true; in v3d_create_object()
[all …]

12345678910>>...14