| /linux/drivers/staging/media/atomisp/pci/hmm/ |
| H A D | hmm_bo.c | 36 static int __bo_init(struct hmm_bo_device *bdev, struct hmm_buffer_object *bo, in __bo_init() argument 46 memset(bo, 0, sizeof(*bo)); in __bo_init() 47 mutex_init(&bo->mutex); in __bo_init() 50 INIT_LIST_HEAD(&bo->list); in __bo_init() 52 bo->bdev = bdev; in __bo_init() 53 bo->vmap_addr = NULL; in __bo_init() 54 bo->status = HMM_BO_FREE; in __bo_init() 55 bo->start = bdev->start; in __bo_init() 56 bo->pgnr = pgnr; in __bo_init() 57 bo->end = bo->start + pgnr_to_size(pgnr); in __bo_init() [all …]
|
| /linux/drivers/gpu/drm/qxl/ |
| H A D | qxl_object.c | 34 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 D | qxl_object.h | 30 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/radeon/ |
| H A D | radeon_object.c | 45 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 D | radeon_object.h | 64 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 D | radeon_mn.c | 53 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 …]
|
| /linux/drivers/gpu/drm/tegra/ |
| H A D | gem.c | 52 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() 203 static void tegra_bo_munmap(struct host1x_bo *bo, void *addr) in tegra_bo_munmap() argument 205 struct tegra_bo *obj = host1x_to_tegra_bo(bo); in tegra_bo_munmap() [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_bo.c | 105 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 D | xe_drm_client.c | 133 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 D | xe_dma_buf.c | 53 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() 70 if (xe_bo_is_pinned(bo) && !xe_bo_is_mem_type(bo, XE_PL_TT) && in xe_dma_buf_pin() 71 !(xe_bo_is_vram(bo) && allow_vram)) { in xe_dma_buf_pin() 77 ret = xe_bo_migrate(bo, XE_PL_TT, NULL, exec); in xe_dma_buf_pin() 87 ret = xe_bo_pin_external(bo, !allow_vram, exec); in xe_dma_buf_pin() 96 struct xe_bo *bo = gem_to_xe_bo(obj); in xe_dma_buf_unpin() local 98 xe_bo_unpin_external(bo); in xe_dma_buf_unpin() 106 struct xe_bo *bo = gem_to_xe_bo(obj); in xe_dma_buf_map() local 111 if (!attach->peer2peer && !xe_bo_can_migrate(bo, XE_PL_TT)) in xe_dma_buf_map() [all …]
|
| /linux/drivers/gpu/drm/ttm/ |
| H A D | ttm_bo_util.c | 46 struct ttm_buffer_object *bo; member 146 int ttm_bo_move_memcpy(struct ttm_buffer_object *bo, in ttm_bo_move_memcpy() argument 150 struct ttm_device *bdev = bo->bdev; in ttm_bo_move_memcpy() 152 ttm_manager_type(bo->bdev, dst_mem->mem_type); in ttm_bo_move_memcpy() 153 struct ttm_tt *ttm = bo->ttm; in ttm_bo_move_memcpy() 154 struct ttm_resource *src_mem = bo->resource; in ttm_bo_move_memcpy() 170 ret = ttm_bo_populate(bo, ctx); in ttm_bo_move_memcpy() 195 ttm_bo_move_sync_cleanup(bo, dst_mem); in ttm_bo_move_memcpy() 205 static void ttm_transfered_destroy(struct ttm_buffer_object *bo) in ttm_transfered_destroy() argument 209 fbo = container_of(bo, struct ttm_transfer_obj, base); in ttm_transfered_destroy() [all …]
|
| /linux/drivers/gpu/drm/vc4/ |
| H A D | vc4_bo.c | 135 struct vc4_bo *bo = to_vc4_bo(gem_obj); in vc4_bo_set_label() local 145 vc4->bo_labels[bo->label].num_allocated--; in vc4_bo_set_label() 146 vc4->bo_labels[bo->label].size_allocated -= gem_obj->size; in vc4_bo_set_label() 148 if (vc4->bo_labels[bo->label].num_allocated == 0 && in vc4_bo_set_label() 149 is_user_label(bo->label)) { in vc4_bo_set_label() 155 kfree(vc4->bo_labels[bo->label].name); in vc4_bo_set_label() 156 vc4->bo_labels[bo->label].name = NULL; in vc4_bo_set_label() 159 bo->label = label; in vc4_bo_set_label() 167 static void vc4_bo_destroy(struct vc4_bo *bo) in vc4_bo_destroy() argument 169 struct drm_gem_object *obj = &bo->base.base; in vc4_bo_destroy() [all …]
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_gem.c | 38 static void panthor_gem_debugfs_bo_init(struct panthor_gem_object *bo) in panthor_gem_debugfs_bo_init() argument 40 INIT_LIST_HEAD(&bo->debugfs.node); in panthor_gem_debugfs_bo_init() 43 static void panthor_gem_debugfs_bo_add(struct panthor_gem_object *bo) in panthor_gem_debugfs_bo_add() argument 45 struct panthor_device *ptdev = container_of(bo->base.base.dev, in panthor_gem_debugfs_bo_add() 48 bo->debugfs.creator.tgid = current->tgid; in panthor_gem_debugfs_bo_add() 49 get_task_comm(bo->debugfs.creator.process_name, current->group_leader); in panthor_gem_debugfs_bo_add() 52 list_add_tail(&bo->debugfs.node, &ptdev->gems.node); in panthor_gem_debugfs_bo_add() 56 static void panthor_gem_debugfs_bo_rm(struct panthor_gem_object *bo) in panthor_gem_debugfs_bo_rm() argument 58 struct panthor_device *ptdev = container_of(bo->base.base.dev, in panthor_gem_debugfs_bo_rm() 61 if (list_empty(&bo->debugfs.node)) in panthor_gem_debugfs_bo_rm() [all …]
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_dma_buf.c | 62 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in dma_buf_attach_adev() local 64 return amdgpu_ttm_adev(bo->tbo.bdev); in dma_buf_attach_adev() 83 struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); in amdgpu_dma_buf_attach() local 84 struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); in amdgpu_dma_buf_attach() 96 bo->flags & AMDGPU_GEM_CREATE_GFX12_DCC) in amdgpu_dma_buf_attach() 99 if (!amdgpu_dmabuf_is_xgmi_accessible(attach_adev, bo) && in amdgpu_dma_buf_attach() 103 r = dma_resv_lock(bo->tbo.base.resv, NULL); in amdgpu_dma_buf_attach() 107 amdgpu_vm_bo_update_shared(bo); in amdgpu_dma_buf_attach() 109 dma_resv_unlock(bo->tbo.base.resv); in amdgpu_dma_buf_attach() 124 struct amdgpu_bo *bo = gem_to_amdgpu_bo(dmabuf->priv); in amdgpu_dma_buf_pin() local [all …]
|
| H A D | amdgpu_amdkfd_gpuvm.c | 309 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/panfrost/ |
| H A D | panfrost_gem.c | 36 struct panfrost_gem_object *bo) in panfrost_gem_debugfs_bo_add() argument 38 bo->debugfs.creator.tgid = current->tgid; in panfrost_gem_debugfs_bo_add() 39 get_task_comm(bo->debugfs.creator.process_name, current->group_leader); in panfrost_gem_debugfs_bo_add() 42 list_add_tail(&bo->debugfs.node, &pfdev->debugfs.gems_list); in panfrost_gem_debugfs_bo_add() 46 static void panfrost_gem_debugfs_bo_rm(struct panfrost_gem_object *bo) in panfrost_gem_debugfs_bo_rm() argument 48 struct panfrost_device *pfdev = to_panfrost_device(bo->base.base.dev); in panfrost_gem_debugfs_bo_rm() 50 if (list_empty(&bo->debugfs.node)) in panfrost_gem_debugfs_bo_rm() 54 list_del_init(&bo->debugfs.node); in panfrost_gem_debugfs_bo_rm() 59 struct panfrost_gem_object *bo) in panfrost_gem_debugfs_bo_add() argument 61 static void panfrost_gem_debugfs_bo_rm(struct panfrost_gem_object *bo) {} in panfrost_gem_debugfs_bo_rm() argument [all …]
|
| /linux/drivers/gpu/drm/lima/ |
| H A D | lima_gem.c | 21 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/xe/tests/ |
| H A D | xe_bo.c | 25 static int ccs_test_migrate(struct xe_tile *tile, struct xe_bo *bo, in ccs_test_migrate() argument 39 ret = xe_bo_validate(bo, NULL, false, exec); in ccs_test_migrate() 47 fence = xe_migrate_clear(tile->migrate, bo, bo->ttm.resource, in ccs_test_migrate() 64 ret = xe_bo_evict(bo, exec); in ccs_test_migrate() 71 timeout = dma_resv_wait_timeout(bo->ttm.base.resv, in ccs_test_migrate() 85 ttm = bo->ttm.ttm; in ccs_test_migrate() 91 ccs_page = xe_bo_ccs_pages_start(bo) >> PAGE_SHIFT; in ccs_test_migrate() 110 offset = xe_device_ccs_bytes(tile_to_xe(tile), xe_bo_size(bo)); in ccs_test_migrate() 130 struct xe_bo *bo; in ccs_test_run_tile() local 143 bo = xe_bo_create_user(xe, NULL, SZ_1M, DRM_XE_GEM_CPU_CACHING_WC, in ccs_test_run_tile() [all …]
|
| /linux/drivers/gpu/drm/ttm/tests/ |
| H A D | ttm_tt_test.c | 42 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/gpu/drm/virtio/ |
| H A D | virtgpu_prime.c | 36 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_virtio_get_uuid() local 39 wait_event(vgdev->resp_wq, bo->uuid_state != STATE_INITIALIZING); in virtgpu_virtio_get_uuid() 40 if (bo->uuid_state != STATE_OK) in virtgpu_virtio_get_uuid() 43 uuid_copy(uuid, &bo->uuid); in virtgpu_virtio_get_uuid() 53 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_gem_map_dma_buf() local 55 if (virtio_gpu_is_vram(bo)) in virtgpu_gem_map_dma_buf() 56 return virtio_gpu_vram_map_dma_buf(bo, attach->dev, dir); in virtgpu_gem_map_dma_buf() 66 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtgpu_gem_unmap_dma_buf() local 68 if (virtio_gpu_is_vram(bo)) { in virtgpu_gem_unmap_dma_buf() 92 struct virtio_gpu_object *bo) in virtio_gpu_resource_assign_uuid() argument [all …]
|
| H A D | virtgpu_object.c | 66 void virtio_gpu_cleanup_object(struct virtio_gpu_object *bo) in virtio_gpu_cleanup_object() argument 68 struct virtio_gpu_device *vgdev = bo->base.base.dev->dev_private; in virtio_gpu_cleanup_object() 70 virtio_gpu_resource_id_put(vgdev, bo->hw_res_handle); in virtio_gpu_cleanup_object() 71 if (virtio_gpu_is_shmem(bo)) { in virtio_gpu_cleanup_object() 72 drm_gem_shmem_free(&bo->base); in virtio_gpu_cleanup_object() 73 } else if (virtio_gpu_is_vram(bo)) { in virtio_gpu_cleanup_object() 74 struct virtio_gpu_object_vram *vram = to_virtio_gpu_vram(bo); in virtio_gpu_cleanup_object() 86 drm_gem_object_release(&bo->base.base); in virtio_gpu_cleanup_object() 87 kfree(bo); in virtio_gpu_cleanup_object() 93 struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj); in virtio_gpu_free_object() local [all …]
|
| /linux/drivers/gpu/drm/v3d/ |
| H A D | v3d_bo.c | 28 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 D | vmwgfx_bo.c | 40 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 …]
|
| /linux/drivers/media/platform/nvidia/tegra-vde/ |
| H A D | vde.c | 61 struct tegra_vde_bo *bo; in tegra_vde_alloc_bo() local 64 bo = kzalloc_obj(*bo); in tegra_vde_alloc_bo() 65 if (!bo) in tegra_vde_alloc_bo() 68 bo->vde = vde; in tegra_vde_alloc_bo() 69 bo->size = size; in tegra_vde_alloc_bo() 70 bo->dma_dir = dma_dir; in tegra_vde_alloc_bo() 71 bo->dma_attrs = DMA_ATTR_WRITE_COMBINE | in tegra_vde_alloc_bo() 75 bo->dma_attrs |= DMA_ATTR_FORCE_CONTIGUOUS; in tegra_vde_alloc_bo() 77 bo->dma_cookie = dma_alloc_attrs(dev, bo->size, &bo->dma_handle, in tegra_vde_alloc_bo() 78 GFP_KERNEL, bo->dma_attrs); in tegra_vde_alloc_bo() [all …]
|
| /linux/drivers/accel/qaic/ |
| H A D | qaic_data.c | 145 static inline bool bo_queued(struct qaic_bo *bo) in bo_queued() argument 147 return !list_empty(&bo->xfer_list); in bo_queued() 164 slice->bo->total_slice_nents -= slice->nents; in free_slice() 166 drm_gem_object_put(&slice->bo->base); in free_slice() 391 static int qaic_map_one_slice(struct qaic_device *qdev, struct qaic_bo *bo, in qaic_map_one_slice() argument 398 ret = clone_range_of_sgt_for_slice(qdev, &sgt, bo->sgt, slice_ent->size, slice_ent->offset); in qaic_map_one_slice() 417 slice->dir = bo->dir; in qaic_map_one_slice() 418 slice->bo = bo; in qaic_map_one_slice() 426 bo->total_slice_nents += sgt->nents; in qaic_map_one_slice() 428 drm_gem_object_get(&bo->base); in qaic_map_one_slice() [all …]
|