Home
last modified time | relevance | path

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

12345678910

/linux/drivers/gpu/drm/xe/
H A Dxe_bo.h119 void xe_bo_free(struct xe_bo *bo);
121 struct xe_bo *xe_bo_init_locked(struct xe_device *xe, struct xe_bo *bo,
149 void xe_managed_bo_unpin_map_no_vm(struct xe_bo *bo);
154 int xe_bo_placement_for_flags(struct xe_device *xe, struct xe_bo *bo,
157 static inline struct xe_bo *ttm_to_xe_bo(const struct ttm_buffer_object *bo) in ttm_to_xe_bo() argument
159 return container_of(bo, struct xe_bo, ttm); in ttm_to_xe_bo()
167 #define xe_bo_device(bo) ttm_to_xe_device((bo)->ttm.bdev) argument
169 static inline struct xe_bo *xe_bo_get(struct xe_bo *bo) in xe_bo_get() argument
171 if (bo) in xe_bo_get()
172 drm_gem_object_get(&bo->ttm.base); in xe_bo_get()
[all …]
H A Dxe_bo.c105 bool xe_bo_is_vram(struct xe_bo *bo) in xe_bo_is_vram() argument
107 return resource_is_vram(bo->ttm.resource) || in xe_bo_is_vram()
108 resource_is_stolen_vram(xe_bo_device(bo), bo->ttm.resource); in xe_bo_is_vram()
111 bool xe_bo_is_stolen(struct xe_bo *bo) in xe_bo_is_stolen() argument
113 return bo->ttm.resource->mem_type == XE_PL_STOLEN; in xe_bo_is_stolen()
125 bool xe_bo_has_single_placement(struct xe_bo *bo) in xe_bo_has_single_placement() argument
127 return bo->placement.num_placement == 1; in xe_bo_has_single_placement()
139 bool xe_bo_is_stolen_devmem(struct xe_bo *bo) in xe_bo_is_stolen_devmem() argument
141 return xe_bo_is_stolen(bo) && in xe_bo_is_stolen_devmem()
142 GRAPHICS_VERx100(xe_bo_device(bo)) >= 1270; in xe_bo_is_stolen_devmem()
[all …]
H A Dxe_drm_client.c133 struct xe_bo *bo) in xe_drm_client_add_bo() argument
135 XE_WARN_ON(bo->client); in xe_drm_client_add_bo()
136 XE_WARN_ON(!list_empty(&bo->client_link)); in xe_drm_client_add_bo()
138 bo->client = xe_drm_client_get(client); in xe_drm_client_add_bo()
140 list_add_tail(&bo->client_link, &client->bos_list); in xe_drm_client_add_bo()
153 void xe_drm_client_remove_bo(struct xe_bo *bo) in xe_drm_client_remove_bo() argument
155 struct xe_device *xe = ttm_to_xe_device(bo->ttm.bdev); in xe_drm_client_remove_bo()
156 struct xe_drm_client *client = bo->client; in xe_drm_client_remove_bo()
158 xe_assert(xe, !kref_read(&bo->ttm.base.refcount)); in xe_drm_client_remove_bo()
161 list_del_init(&bo->client_link); in xe_drm_client_remove_bo()
[all …]
H A Dxe_dma_buf.c53 struct xe_bo *bo = gem_to_xe_bo(obj); in xe_dma_buf_pin() local
54 struct xe_device *xe = xe_bo_device(bo); in xe_dma_buf_pin()
66 if (xe_bo_is_pinned(bo) && !xe_bo_is_mem_type(bo, XE_PL_TT) && in xe_dma_buf_pin()
67 !(xe_bo_is_vram(bo) && allow_vram)) { in xe_dma_buf_pin()
73 ret = xe_bo_migrate(bo, XE_PL_TT, NULL, exec); in xe_dma_buf_pin()
83 ret = xe_bo_pin_external(bo, !allow_vram, exec); in xe_dma_buf_pin()
92 struct xe_bo *bo = gem_to_xe_bo(obj); in xe_dma_buf_unpin() local
94 xe_bo_unpin_external(bo); in xe_dma_buf_unpin()
102 struct xe_bo *bo = gem_to_xe_bo(obj); in xe_dma_buf_map() local
107 if (!attach->peer2peer && !xe_bo_can_migrate(bo, XE_PL_TT)) in xe_dma_buf_map()
[all …]
/linux/drivers/gpu/drm/ttm/
H A Dttm_bo.c55 static void ttm_bo_mem_space_debug(struct ttm_buffer_object *bo, in ttm_bo_mem_space_debug() argument
66 man = ttm_manager_type(bo->bdev, mem_type); in ttm_bo_mem_space_debug()
80 void ttm_bo_move_to_lru_tail(struct ttm_buffer_object *bo) in ttm_bo_move_to_lru_tail() argument
82 dma_resv_assert_held(bo->base.resv); in ttm_bo_move_to_lru_tail()
84 if (bo->resource) in ttm_bo_move_to_lru_tail()
85 ttm_resource_move_to_lru_tail(bo->resource); in ttm_bo_move_to_lru_tail()
103 void ttm_bo_set_bulk_move(struct ttm_buffer_object *bo, in ttm_bo_set_bulk_move() argument
106 dma_resv_assert_held(bo->base.resv); in ttm_bo_set_bulk_move()
108 if (bo->bulk_move == bulk) in ttm_bo_set_bulk_move()
111 spin_lock(&bo->bdev->lru_lock); in ttm_bo_set_bulk_move()
[all …]
H A Dttm_bo_vm.c44 static vm_fault_t ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, in ttm_bo_vm_fault_idle() argument
52 if (dma_resv_test_signaled(bo->base.resv, DMA_RESV_USAGE_KERNEL)) in ttm_bo_vm_fault_idle()
64 drm_gem_object_get(&bo->base); in ttm_bo_vm_fault_idle()
66 (void)dma_resv_wait_timeout(bo->base.resv, in ttm_bo_vm_fault_idle()
69 dma_resv_unlock(bo->base.resv); in ttm_bo_vm_fault_idle()
70 drm_gem_object_put(&bo->base); in ttm_bo_vm_fault_idle()
77 err = dma_resv_wait_timeout(bo->base.resv, DMA_RESV_USAGE_KERNEL, true, in ttm_bo_vm_fault_idle()
87 static unsigned long ttm_bo_io_mem_pfn(struct ttm_buffer_object *bo, in ttm_bo_io_mem_pfn() argument
90 struct ttm_device *bdev = bo->bdev; in ttm_bo_io_mem_pfn()
93 return bdev->funcs->io_mem_pfn(bo, page_offset); in ttm_bo_io_mem_pfn()
[all …]
/linux/drivers/gpu/drm/qxl/
H A Dqxl_object.c34 struct qxl_bo *bo; in qxl_ttm_bo_destroy() local
37 bo = to_qxl_bo(tbo); in qxl_ttm_bo_destroy()
38 qdev = to_qxl(bo->tbo.base.dev); in qxl_ttm_bo_destroy()
40 qxl_surface_evict(qdev, bo, false); in qxl_ttm_bo_destroy()
41 WARN_ON_ONCE(bo->map_count > 0); in qxl_ttm_bo_destroy()
43 list_del_init(&bo->list); in qxl_ttm_bo_destroy()
45 drm_gem_object_release(&bo->tbo.base); in qxl_ttm_bo_destroy()
46 kfree(bo); in qxl_ttm_bo_destroy()
49 bool qxl_ttm_bo_is_qxl_bo(struct ttm_buffer_object *bo) in qxl_ttm_bo_is_qxl_bo() argument
51 if (bo->destroy == &qxl_ttm_bo_destroy) in qxl_ttm_bo_is_qxl_bo()
[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_pin_and_vmap(struct qxl_bo *bo, struct iosys_map *map);
63 int qxl_bo_vmap_locked(struct qxl_bo *bo, struct iosys_map *map);
[all …]
/linux/drivers/gpu/drm/panthor/
H A Dpanthor_gem.c46 static void panthor_gem_debugfs_bo_init(struct panthor_gem_object *bo) in panthor_gem_debugfs_bo_init() argument
48 INIT_LIST_HEAD(&bo->debugfs.node); in panthor_gem_debugfs_bo_init()
51 static void panthor_gem_debugfs_bo_add(struct panthor_gem_object *bo) in panthor_gem_debugfs_bo_add() argument
53 struct panthor_device *ptdev = container_of(bo->base.dev, in panthor_gem_debugfs_bo_add()
56 bo->debugfs.creator.tgid = current->tgid; in panthor_gem_debugfs_bo_add()
57 get_task_comm(bo->debugfs.creator.process_name, current->group_leader); in panthor_gem_debugfs_bo_add()
60 list_add_tail(&bo->debugfs.node, &ptdev->gems.node); in panthor_gem_debugfs_bo_add()
64 static void panthor_gem_debugfs_bo_rm(struct panthor_gem_object *bo) in panthor_gem_debugfs_bo_rm() argument
66 struct panthor_device *ptdev = container_of(bo->base.dev, in panthor_gem_debugfs_bo_rm()
69 if (list_empty(&bo->debugfs.node)) in panthor_gem_debugfs_bo_rm()
[all …]
/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_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 …]
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 …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_object.c63 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_destroy() local
65 amdgpu_bo_kunmap(bo); in amdgpu_bo_destroy()
67 if (drm_gem_is_imported(&bo->tbo.base)) in amdgpu_bo_destroy()
68 drm_prime_gem_destroy(&bo->tbo.base, bo->tbo.sg); in amdgpu_bo_destroy()
69 drm_gem_object_release(&bo->tbo.base); in amdgpu_bo_destroy()
70 amdgpu_bo_unref(&bo->parent); in amdgpu_bo_destroy()
71 kvfree(bo); in amdgpu_bo_destroy()
76 struct amdgpu_bo *bo = ttm_to_amdgpu_bo(tbo); in amdgpu_bo_user_destroy() local
79 ubo = to_amdgpu_bo_user(bo); in amdgpu_bo_user_destroy()
94 bool amdgpu_bo_is_amdgpu_bo(struct ttm_buffer_object *bo) in amdgpu_bo_is_amdgpu_bo() argument
[all …]
H A Damdgpu_dma_buf.c63 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in dma_buf_attach_adev() local
65 return amdgpu_ttm_adev(bo->tbo.bdev); in dma_buf_attach_adev()
84 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_attach() local
85 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_attach()
97 bo->flags & AMDGPU_GEM_CREATE_GFX12_DCC) in amdgpu_dma_buf_attach()
100 if (!amdgpu_dmabuf_is_xgmi_accessible(attach_adev, bo) && in amdgpu_dma_buf_attach()
119 r = dma_resv_lock(bo->tbo.base.resv, NULL); in amdgpu_dma_buf_attach()
123 amdgpu_vm_bo_update_shared(bo); in amdgpu_dma_buf_attach()
125 dma_resv_unlock(bo->tbo.base.resv); in amdgpu_dma_buf_attach()
147 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_detach() local
[all …]
H A Damdgpu_amdkfd_gpuvm.c309 void amdgpu_amdkfd_release_notify(struct amdgpu_bo *bo) in amdgpu_amdkfd_release_notify() argument
311 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_amdkfd_release_notify()
312 u32 alloc_flags = bo->kfd_bo->alloc_flags; in amdgpu_amdkfd_release_notify()
313 u64 size = amdgpu_bo_size(bo); in amdgpu_amdkfd_release_notify()
316 bo->xcp_id); in amdgpu_amdkfd_release_notify()
318 kfree(bo->kfd_bo); in amdgpu_amdkfd_release_notify()
338 ret = amdgpu_bo_reserve(mem->bo, false); in create_dmamap_sg_bo()
343 flags |= mem->bo->flags & (AMDGPU_GEM_CREATE_COHERENT | in create_dmamap_sg_bo()
346 ret = amdgpu_gem_object_create(adev, mem->bo->tbo.base.size, 1, in create_dmamap_sg_bo()
348 ttm_bo_type_sg, mem->bo->tbo.base.resv, &gem_obj, 0); in create_dmamap_sg_bo()
[all …]
/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 …]
/linux/drivers/gpu/drm/virtio/
H A Dvirtgpu_object.c66 void virtio_gpu_remove_from_restore_list(struct virtio_gpu_object *bo) in virtio_gpu_remove_from_restore_list() argument
68 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_remove_from_restore_list()
71 list_del_init(&bo->restore_node); in virtio_gpu_remove_from_restore_list()
75 void virtio_gpu_cleanup_object(struct virtio_gpu_object *bo) in virtio_gpu_cleanup_object() argument
77 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_cleanup_object()
79 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_cleanup_object()
80 if (virtio_gpu_is_shmem(bo)) { in virtio_gpu_cleanup_object()
81 drm_gem_shmem_free(&bo->base); in virtio_gpu_cleanup_object()
82 } else if (virtio_gpu_is_vram(bo)) { in virtio_gpu_cleanup_object()
83 struct virtio_gpu_object_vram *vram = to_virtio_gpu_vram(bo); in virtio_gpu_cleanup_object()
[all …]
H A Dvirtgpu_prime.c37 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_virtio_get_uuid() local
40 wait_event(vgdev->resp_wq, bo->uuid_state != STATE_INITIALIZING); in virtgpu_virtio_get_uuid()
41 if (bo->uuid_state != STATE_OK) in virtgpu_virtio_get_uuid()
44 uuid_copy(uuid, &bo->uuid); in virtgpu_virtio_get_uuid()
54 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_gem_map_dma_buf() local
56 if (virtio_gpu_is_vram(bo)) in virtgpu_gem_map_dma_buf()
57 return virtio_gpu_vram_map_dma_buf(bo, attach->dev, dir); in virtgpu_gem_map_dma_buf()
67 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_gem_unmap_dma_buf() local
69 if (virtio_gpu_is_vram(bo)) { in virtgpu_gem_unmap_dma_buf()
93 struct virtio_gpu_object *bo) in virtio_gpu_resource_assign_uuid() argument
[all …]
/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 …]
/linux/drivers/gpu/drm/ttm/tests/
H A Dttm_bo_test.c62 struct ttm_buffer_object *bo; in ttm_bo_reserve_optimistic_no_ticket() local
65 bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE, NULL); in ttm_bo_reserve_optimistic_no_ticket()
67 err = ttm_bo_reserve(bo, params->interruptible, params->no_wait, NULL); in ttm_bo_reserve_optimistic_no_ticket()
70 dma_resv_unlock(bo->base.resv); in ttm_bo_reserve_optimistic_no_ticket()
75 struct ttm_buffer_object *bo; in ttm_bo_reserve_locked_no_sleep() local
80 bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE, NULL); in ttm_bo_reserve_locked_no_sleep()
83 dma_resv_lock(bo->base.resv, NULL); in ttm_bo_reserve_locked_no_sleep()
85 err = ttm_bo_reserve(bo, interruptible, no_wait, NULL); in ttm_bo_reserve_locked_no_sleep()
86 dma_resv_unlock(bo->base.resv); in ttm_bo_reserve_locked_no_sleep()
93 struct ttm_buffer_object *bo; in ttm_bo_reserve_no_wait_ticket() local
[all …]
H A Dttm_tt_test.c42 struct ttm_buffer_object *bo; in ttm_tt_init_basic() local
53 bo = ttm_bo_kunit_init(test, test->priv, params->size, NULL); in ttm_tt_init_basic()
55 err = ttm_tt_init(tt, bo, page_flags, caching, extra_pages); in ttm_tt_init_basic()
69 struct ttm_buffer_object *bo; in ttm_tt_init_misaligned() local
79 bo = ttm_bo_kunit_init(test, test->priv, size, NULL); in ttm_tt_init_misaligned()
82 bo->base.size += 1; in ttm_tt_init_misaligned()
84 err = ttm_tt_init(tt, bo, 0, caching, 0); in ttm_tt_init_misaligned()
92 struct ttm_buffer_object *bo; in ttm_tt_fini_basic() local
100 bo = ttm_bo_kunit_init(test, test->priv, BO_SIZE, NULL); in ttm_tt_fini_basic()
102 err = ttm_tt_init(tt, bo, 0, caching, 0); in ttm_tt_fini_basic()
[all …]
/linux/drivers/accel/ivpu/
H A Divpu_gem.h27 int ivpu_bo_bind(struct ivpu_bo *bo);
36 void ivpu_bo_free(struct ivpu_bo *bo);
52 static inline void *ivpu_bo_vaddr(struct ivpu_bo *bo) in ivpu_bo_vaddr() argument
54 return bo->base.vaddr; in ivpu_bo_vaddr()
57 static inline size_t ivpu_bo_size(struct ivpu_bo *bo) in ivpu_bo_size() argument
59 return bo->base.base.size; in ivpu_bo_size()
62 static inline u32 ivpu_bo_cache_mode(struct ivpu_bo *bo) in ivpu_bo_cache_mode() argument
64 return bo->flags & DRM_IVPU_BO_CACHE_MASK; in ivpu_bo_cache_mode()
67 static inline struct ivpu_device *ivpu_bo_to_vdev(struct ivpu_bo *bo) in ivpu_bo_to_vdev() argument
69 return to_ivpu_device(bo->base.base.dev); in ivpu_bo_to_vdev()
[all …]
/linux/drivers/gpu/drm/v3d/
H A Dv3d_bo.c28 struct v3d_bo *bo = to_v3d_bo(obj); in v3d_gem_status() local
31 if (bo->base.pages) in v3d_gem_status()
43 struct v3d_bo *bo = to_v3d_bo(obj); in v3d_free_object() local
45 if (bo->vaddr) in v3d_free_object()
46 v3d_put_bo_vaddr(bo); in v3d_free_object()
48 v3d_mmu_remove_ptes(bo); in v3d_free_object()
56 drm_mm_remove_node(&bo->node); in v3d_free_object()
60 bo->base.pages_mark_dirty_on_put = true; in v3d_free_object()
62 drm_gem_shmem_free(&bo->base); in v3d_free_object()
83 struct v3d_bo *bo; in v3d_create_object() local
[all …]
/linux/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_bo.c40 static void vmw_bo_free(struct ttm_buffer_object *bo) in vmw_bo_free() argument
43 struct vmw_bo *vbo = to_vmw_bo(&bo->base); in vmw_bo_free()
93 struct ttm_buffer_object *bo = &buf->tbo; in vmw_bo_pin_in_placement() local
98 ret = ttm_bo_reserve(bo, interruptible, false, NULL); in vmw_bo_pin_in_placement()
102 ret = ttm_bo_validate(bo, placement, &ctx); in vmw_bo_pin_in_placement()
106 ttm_bo_unreserve(bo); in vmw_bo_pin_in_placement()
129 struct ttm_buffer_object *bo = &buf->tbo; in vmw_bo_pin_in_vram_or_gmr() local
134 ret = ttm_bo_reserve(bo, interruptible, false, NULL); in vmw_bo_pin_in_vram_or_gmr()
141 ret = ttm_bo_validate(bo, &buf->placement, &ctx); in vmw_bo_pin_in_vram_or_gmr()
148 ret = ttm_bo_validate(bo, &buf->placement, &ctx); in vmw_bo_pin_in_vram_or_gmr()
[all …]

12345678910