Lines Matching refs:xe_vm

44 static struct drm_gem_object *xe_vm_obj(struct xe_vm *vm)  in xe_vm_obj()
58 int xe_vm_drm_exec_lock(struct xe_vm *vm, struct drm_exec *exec) in xe_vm_drm_exec_lock()
63 static bool preempt_fences_waiting(struct xe_vm *vm) in preempt_fences_waiting()
89 static int alloc_preempt_fences(struct xe_vm *vm, struct list_head *list, in alloc_preempt_fences()
110 static int wait_for_existing_preempt_fences(struct xe_vm *vm) in wait_for_existing_preempt_fences()
142 static bool xe_vm_is_idle(struct xe_vm *vm) in xe_vm_is_idle()
155 static void arm_preempt_fences(struct xe_vm *vm, struct list_head *list) in arm_preempt_fences()
174 static int add_preempt_fences(struct xe_vm *vm, struct xe_bo *bo) in add_preempt_fences()
198 static void resume_and_reinstall_preempt_fences(struct xe_vm *vm, in resume_and_reinstall_preempt_fences()
214 int xe_vm_add_compute_exec_queue(struct xe_vm *vm, struct xe_exec_queue *q) in xe_vm_add_compute_exec_queue()
277 void xe_vm_remove_compute_exec_queue(struct xe_vm *vm, struct xe_exec_queue *q) in xe_vm_remove_compute_exec_queue()
305 void xe_vm_kill(struct xe_vm *vm, bool unlocked) in xe_vm_kill()
328 struct xe_vm *vm = gpuvm_to_vm(vm_bo->vm); in xe_gpuvm_validate()
363 int xe_vm_validate_rebind(struct xe_vm *vm, struct drm_exec *exec, in xe_vm_validate_rebind()
389 static int xe_preempt_work_begin(struct drm_exec *exec, struct xe_vm *vm, in xe_preempt_work_begin()
426 static bool vm_suspend_rebind_worker(struct xe_vm *vm) in vm_suspend_rebind_worker()
448 void xe_vm_resume_rebind_worker(struct xe_vm *vm) in xe_vm_resume_rebind_worker()
455 struct xe_vm *vm = container_of(w, struct xe_vm, preempt.rebind_work); in preempt_rebind_work_func()
681 static struct dma_fence *ops_execute(struct xe_vm *vm,
683 static void xe_vma_ops_init(struct xe_vma_ops *vops, struct xe_vm *vm,
687 int xe_vm_rebind(struct xe_vm *vm, bool rebind_worker) in xe_vm_rebind()
742 struct dma_fence *xe_vma_rebind(struct xe_vm *vm, struct xe_vma *vma, u8 tile_mask) in xe_vma_rebind()
829 struct dma_fence *xe_vm_range_rebind(struct xe_vm *vm, in xe_vm_range_rebind()
913 struct dma_fence *xe_vm_range_unbind(struct xe_vm *vm, in xe_vm_range_unbind()
990 static struct xe_vma *xe_vma_create(struct xe_vm *vm, in xe_vma_create()
1080 struct xe_vm *vm = xe_vma_vm(vma); in xe_vma_destroy_late()
1120 struct xe_vm *vm = xe_vma_vm(vma); in xe_vma_destroy()
1160 struct xe_vm *vm = xe_vma_vm(vma); in xe_vm_lock_vma()
1191 xe_vm_find_overlapping_vma(struct xe_vm *vm, u64 start, u64 range) in xe_vm_find_overlapping_vma()
1207 static int xe_vm_insert_vma(struct xe_vm *vm, struct xe_vma *vma) in xe_vm_insert_vma()
1222 static void xe_vm_remove_vma(struct xe_vm *vm, struct xe_vma *vma) in xe_vm_remove_vma()
1422 struct xe_vm *vm, struct drm_exec *exec) in xe_vm_create_scratch()
1442 static void xe_vm_free_scratch(struct xe_vm *vm) in xe_vm_free_scratch()
1462 static void xe_vm_pt_destroy(struct xe_vm *vm) in xe_vm_pt_destroy()
1477 struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags, struct xe_file *xef) in xe_vm_create()
1482 struct xe_vm *vm; in xe_vm_create()
1690 static void xe_vm_close(struct xe_vm *vm) in xe_vm_close()
1732 void xe_vm_close_and_put(struct xe_vm *vm) in xe_vm_close_and_put()
1843 struct xe_vm *vm = in vm_destroy_work_func()
1844 container_of(w, struct xe_vm, destroy_work); in vm_destroy_work_func()
1875 struct xe_vm *vm = container_of(gpuvm, struct xe_vm, gpuvm); in xe_vm_free()
1881 struct xe_vm *xe_vm_lookup(struct xe_file *xef, u32 id) in xe_vm_lookup()
1883 struct xe_vm *vm; in xe_vm_lookup()
1894 u64 xe_vm_pdp4_descriptor(struct xe_vm *vm, struct xe_tile *tile) in xe_vm_pdp4_descriptor()
1900 to_wait_exec_queue(struct xe_vm *vm, struct xe_exec_queue *q) in to_wait_exec_queue()
1931 struct xe_vm *vm; in xe_vm_create_ioctl()
1998 struct xe_vm *vm; in xe_vm_destroy_ioctl()
2021 static int xe_vm_query_vmas(struct xe_vm *vm, u64 start, u64 end) in xe_vm_query_vmas()
2033 static int get_mem_attrs(struct xe_vm *vm, u32 *num_vmas, u64 start, in get_mem_attrs()
2069 struct xe_vm *vm; in xe_vm_query_vmas_attrs_ioctl()
2140 struct xe_vma *xe_vm_find_vma_by_addr(struct xe_vm *vm, u64 page_addr) in xe_vm_find_vma_by_addr()
2160 static void prep_vma_destroy(struct xe_vm *vm, struct xe_vma *vma, in prep_vma_destroy()
2220 static bool __xe_vm_needs_clear_scratch_pages(struct xe_vm *vm, u32 bind_flags) in __xe_vm_needs_clear_scratch_pages()
2250 vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_vma_ops *vops, in vm_bind_ioctl_ops_create()
2427 static struct xe_vma *new_vma(struct xe_vm *vm, struct drm_gpuva_op_map *op, in new_vma()
2529 static int xe_vma_op_commit(struct xe_vm *vm, struct xe_vma_op *op) in xe_vma_op_commit()
2616 static int vm_bind_ioctl_ops_parse(struct xe_vm *vm, struct drm_gpuva_ops *ops, in vm_bind_ioctl_ops_parse()
2799 static void xe_vma_op_unwind(struct xe_vm *vm, struct xe_vma_op *op, in xe_vma_op_unwind()
2865 static void vm_bind_ioctl_ops_unwind(struct xe_vm *vm, in vm_bind_ioctl_ops_unwind()
2893 struct xe_vm *vm = xe_vma_vm(vma); in vma_lock_and_validate()
2923 static int prefetch_ranges(struct xe_vm *vm, struct xe_vma_op *op) in prefetch_ranges()
2978 static int op_lock_and_prep(struct drm_exec *exec, struct xe_vm *vm, in op_lock_and_prep()
3051 static int vm_bind_ioctl_ops_prefetch_ranges(struct xe_vm *vm, struct xe_vma_ops *vops) in vm_bind_ioctl_ops_prefetch_ranges()
3071 struct xe_vm *vm, in vm_bind_ioctl_ops_lock_and_prep()
3130 static int vm_ops_setup_tile_args(struct xe_vm *vm, struct xe_vma_ops *vops) in vm_ops_setup_tile_args()
3156 static struct dma_fence *ops_execute(struct xe_vm *vm, in ops_execute()
3264 static void op_add_ufence(struct xe_vm *vm, struct xe_vma_op *op, in op_add_ufence()
3288 static void vm_bind_ioctl_ops_fini(struct xe_vm *vm, struct xe_vma_ops *vops, in vm_bind_ioctl_ops_fini()
3314 static struct dma_fence *vm_bind_ioctl_ops_execute(struct xe_vm *vm, in vm_bind_ioctl_ops_execute()
3369 static int vm_bind_ioctl_check_args(struct xe_device *xe, struct xe_vm *vm, in vm_bind_ioctl_check_args()
3507 static int vm_bind_ioctl_signal_fences(struct xe_vm *vm, in vm_bind_ioctl_signal_fences()
3530 static void xe_vma_ops_init(struct xe_vma_ops *vops, struct xe_vm *vm, in xe_vma_ops_init()
3619 struct xe_vm *vm; in xe_vm_bind_ioctl()
3861 struct dma_fence *xe_vm_bind_kernel_bo(struct xe_vm *vm, struct xe_bo *bo, in xe_vm_bind_kernel_bo()
3931 int xe_vm_lock(struct xe_vm *vm, bool intr) in xe_vm_lock()
3949 void xe_vm_unlock(struct xe_vm *vm) in xe_vm_unlock()
3966 int xe_vm_range_tilemask_tlb_inval(struct xe_vm *vm, u64 start, in xe_vm_range_tilemask_tlb_inval()
4027 struct xe_vm *vm = xe_vma_vm(vma); in xe_vm_invalidate_vma()
4077 int xe_vm_validate_protected(struct xe_vm *vm) in xe_vm_validate_protected()
4125 struct xe_vm_snapshot *xe_vm_snapshot_capture(struct xe_vm *vm) in xe_vm_snapshot_capture()
4369 static int xe_vm_alloc_vma(struct xe_vm *vm, in xe_vm_alloc_vma()
4509 int xe_vm_alloc_madvise_vma(struct xe_vm *vm, uint64_t start, uint64_t range) in xe_vm_alloc_madvise_vma()
4544 void xe_vm_find_cpu_addr_mirror_vma_range(struct xe_vm *vm, u64 *start, u64 *end) in xe_vm_find_cpu_addr_mirror_vma_range()
4573 int xe_vm_alloc_cpu_addr_mirror_vma(struct xe_vm *vm, uint64_t start, uint64_t range) in xe_vm_alloc_cpu_addr_mirror_vma()