Home
last modified time | relevance | path

Searched refs:xe_vm (Results 1 – 21 of 21) sorted by relevance

/linux/drivers/gpu/drm/xe/
H A Dxe_vm.h29 struct xe_vm *xe_vm_create(struct xe_device *xe, u32 flags, struct xe_file *xef);
31 struct xe_vm *xe_vm_lookup(struct xe_file *xef, u32 id);
34 static inline struct xe_vm *xe_vm_get(struct xe_vm *vm) in xe_vm_get()
40 static inline void xe_vm_put(struct xe_vm *vm) in xe_vm_put()
45 int xe_vm_lock(struct xe_vm *vm, bool intr);
47 void xe_vm_unlock(struct xe_vm *vm);
49 static inline bool xe_vm_is_closed(struct xe_vm *vm) in xe_vm_is_closed()
55 static inline bool xe_vm_is_banned(struct xe_vm *vm) in xe_vm_is_banned()
60 static inline bool xe_vm_is_closed_or_banned(struct xe_vm *vm) in xe_vm_is_closed_or_banned()
67 xe_vm_find_overlapping_vma(struct xe_vm *vm, u64 start, u64 range);
[all …]
H A Dxe_svm.h33 struct xe_vm;
71 int xe_svm_init(struct xe_vm *vm);
73 void xe_svm_fini(struct xe_vm *vm);
75 void xe_svm_close(struct xe_vm *vm);
77 int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma *vma,
81 bool xe_svm_has_mapping(struct xe_vm *vm, u64 start, u64 end);
90 struct xe_svm_range *xe_svm_range_find_or_insert(struct xe_vm *vm, u64 addr,
93 int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range,
99 void xe_svm_range_migrate_to_smem(struct xe_vm *vm, struct xe_svm_range *range);
101 bool xe_svm_range_validate(struct xe_vm *vm,
[all …]
H A Dxe_trace_bo.h31 __field(struct xe_vm *, vm)
95 __field(struct xe_vm *, vm)
188 DECLARE_EVENT_CLASS(xe_vm,
189 TP_PROTO(struct xe_vm *vm),
194 __field(struct xe_vm *, vm)
211 DEFINE_EVENT(xe_vm, xe_vm_kill,
212 TP_PROTO(struct xe_vm *vm),
216 DEFINE_EVENT(xe_vm, xe_vm_create,
217 TP_PROTO(struct xe_vm *vm),
221 DEFINE_EVENT(xe_vm, xe_vm_free,
[all …]
H A Dxe_exec_queue.h21 struct xe_exec_queue *xe_exec_queue_create(struct xe_device *xe, struct xe_vm *vm,
26 struct xe_vm *vm,
31 struct xe_vm *user_vm,
84 void xe_exec_queue_last_fence_put(struct xe_exec_queue *e, struct xe_vm *vm);
87 struct xe_vm *vm);
89 struct xe_vm *vm);
90 void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
94 struct xe_vm *vm,
101 struct xe_vm *vm,
105 struct xe_vm *vm,
H A Dxe_vm.c45 static struct drm_gem_object *xe_vm_obj(struct xe_vm *vm) in xe_vm_obj()
59 int xe_vm_drm_exec_lock(struct xe_vm *vm, struct drm_exec *exec) in xe_vm_drm_exec_lock()
64 static bool preempt_fences_waiting(struct xe_vm *vm) in preempt_fences_waiting()
90 static int alloc_preempt_fences(struct xe_vm *vm, struct list_head *list, in alloc_preempt_fences()
111 static int wait_for_existing_preempt_fences(struct xe_vm *vm) in wait_for_existing_preempt_fences()
143 static bool xe_vm_is_idle(struct xe_vm *vm) in xe_vm_is_idle()
156 static void arm_preempt_fences(struct xe_vm *vm, struct list_head *list) in arm_preempt_fences()
175 static int add_preempt_fences(struct xe_vm *vm, struct xe_bo *bo) in add_preempt_fences()
199 static void resume_and_reinstall_preempt_fences(struct xe_vm *vm, in resume_and_reinstall_preempt_fences()
215 int xe_vm_add_compute_exec_queue(struct xe_vm *vm, struct xe_exec_queue *q) in xe_vm_add_compute_exec_queue()
[all …]
H A Dxe_svm.c43 static struct xe_vm *gpusvm_to_vm(struct drm_gpusvm *gpusvm) in gpusvm_to_vm()
45 return container_of(gpusvm, struct xe_vm, svm.gpusvm); in gpusvm_to_vm()
48 static struct xe_vm *range_to_vm(struct drm_gpusvm_range *r) in range_to_vm()
92 xe_svm_garbage_collector_add_range(struct xe_vm *vm, struct xe_svm_range *range, in xe_svm_garbage_collector_add_range()
116 xe_svm_range_notifier_event_begin(struct xe_vm *vm, struct drm_gpusvm_range *r, in xe_svm_range_notifier_event_begin()
166 xe_svm_range_notifier_event_end(struct xe_vm *vm, struct drm_gpusvm_range *r, in xe_svm_range_notifier_event_end()
201 struct xe_vm *vm = gpusvm_to_vm(gpusvm); in xe_svm_invalidate()
269 static int __xe_svm_garbage_collector(struct xe_vm *vm, in __xe_svm_garbage_collector()
288 static int xe_svm_range_set_default_attr(struct xe_vm *vm, u64 range_start, u64 range_end) in xe_svm_range_set_default_attr()
337 static int xe_svm_garbage_collector(struct xe_vm *vm) in xe_svm_garbage_collector()
[all …]
H A Dxe_exec_queue_types.h23 struct xe_vm;
56 struct xe_vm *vm;
61 struct xe_vm *user_vm;
H A Dxe_sync.h16 struct xe_vm;
35 struct xe_exec_queue *q, struct xe_vm *vm);
H A Dxe_exec_queue.c119 struct xe_vm *vm, in __xe_exec_queue_alloc()
257 struct xe_exec_queue *xe_exec_queue_create(struct xe_device *xe, struct xe_vm *vm, in xe_exec_queue_create()
301 struct xe_vm *vm, in xe_exec_queue_create_class()
345 struct xe_vm *user_vm, in xe_exec_queue_create_bind()
350 struct xe_vm *migrate_vm; in xe_exec_queue_create_bind()
721 struct xe_vm *vm; in xe_exec_queue_create_ioctl()
1049 struct xe_vm *vm) in xe_exec_queue_last_fence_lockdep_assert()
1066 void xe_exec_queue_last_fence_put(struct xe_exec_queue *q, struct xe_vm *vm) in xe_exec_queue_last_fence_put()
1097 struct xe_vm *vm) in xe_exec_queue_last_fence_get()
1124 struct xe_vm *vm) in xe_exec_queue_last_fence_get_for_resume()
[all …]
H A Dxe_pt.c59 static u64 __xe_pt_empty_pte(struct xe_tile *tile, struct xe_vm *vm, in __xe_pt_empty_pte()
101 struct xe_pt *xe_pt_create(struct xe_vm *vm, struct xe_tile *tile, in xe_pt_create()
161 void xe_pt_populate_empty(struct xe_tile *tile, struct xe_vm *vm, in xe_pt_populate_empty()
286 struct xe_vm *vm;
525 struct xe_vm *vm = xe_walk->vm; in xe_pt_stage_bind_entry()
646 static bool xe_atomic_for_vram(struct xe_vm *vm, struct xe_vma *vma) in xe_atomic_for_vram()
654 static bool xe_atomic_for_system(struct xe_vm *vm, struct xe_vma *vma) in xe_atomic_for_system()
705 struct xe_vm *vm = xe_vma_vm(vma); in xe_pt_stage_bind()
945 bool xe_pt_zap_ptes_range(struct xe_tile *tile, struct xe_vm *vm, in xe_pt_zap_ptes_range()
1029 struct xe_vm *vm; in xe_pt_commit_prepare_locks_assert()
[all …]
H A Dxe_vm_types.h26 struct xe_vm;
168 struct xe_vm { struct
456 struct xe_vm *vm;
H A Dxe_pagefault.c52 struct xe_vm *vm = xe_vma_vm(vma); in xe_pagefault_begin()
69 struct xe_vm *vm = xe_vma_vm(vma); in xe_pagefault_handle_vma()
142 static struct xe_vm *xe_pagefault_asid_to_vm(struct xe_device *xe, u32 asid) in xe_pagefault_asid_to_vm()
144 struct xe_vm *vm; in xe_pagefault_asid_to_vm()
161 struct xe_vm *vm; in xe_pagefault_service()
H A Dxe_migrate.h25 struct xe_vm;
157 struct xe_vm *xe_migrate_get_vm(struct xe_migrate *m);
H A Dxe_exec.c102 struct xe_vm *vm = container_of(vm_exec->vm, struct xe_vm, gpuvm); in xe_exec_fn()
127 struct xe_vm *vm; in xe_exec_ioctl()
H A Dxe_migrate.c139 static void xe_migrate_program_identity(struct xe_device *xe, struct xe_vm *vm, struct xe_bo *bo, in xe_migrate_program_identity()
185 struct xe_vm *vm, struct drm_exec *exec) in xe_migrate_prepare_vm()
411 static int xe_migrate_lock_prepare_vm(struct xe_tile *tile, struct xe_migrate *m, struct xe_vm *vm) in xe_migrate_lock_prepare_vm()
440 struct xe_vm *vm; in xe_migrate_init()
604 struct xe_vm *vm = m->q->vm; in emit_pte()
1640 struct xe_vm *xe_migrate_get_vm(struct xe_migrate *m) in xe_migrate_get_vm()
1663 struct xe_vm *vm = pt_update->vops->vm; in xe_migrate_update_pgtables_cpu()
1799 struct xe_vm *vm = pt_update->vops->vm; in __xe_migrate_update_pgtables()
H A Dxe_bo.c688 struct xe_vm *vm = gpuvm_to_vm(vm_bo->vm); in xe_bo_trigger_rebind()
2312 struct xe_tile *tile, struct xe_vm *vm, in __xe_bo_create_locked()
2410 struct xe_vm *vm, size_t size, in xe_bo_create_locked()
2459 struct xe_vm *vm, size_t size, in xe_bo_create_user()
2533 struct xe_vm *vm, in xe_bo_create_pin_map_at_aligned()
2637 struct xe_vm *vm, size_t size, in xe_bo_create_pin_map()
2945 int xe_bo_validate(struct xe_bo *bo, struct xe_vm *vm, bool allow_res_evict, in xe_bo_validate()
3166 struct xe_vm *vm = NULL; in xe_gem_create_ioctl()
H A Dxe_pm.c369 struct xe_vm *vm, *next; in xe_pm_wake_rebind_workers()
H A Dxe_lrc.c1005 static void xe_lrc_set_ppgtt(struct xe_lrc *lrc, struct xe_vm *vm) in xe_lrc_set_ppgtt()
1393 struct xe_vm *vm, u32 ring_size, u16 msix_vec, in xe_lrc_init()
1565 struct xe_lrc *xe_lrc_create(struct xe_hw_engine *hwe, struct xe_vm *vm, in xe_lrc_create()
H A DMakefile136 xe_vm.o \
H A Dxe_device.c165 struct xe_vm *vm; in xe_file_close()
/linux/drivers/gpu/drm/xe/tests/
H A Dxe_bo.c213 struct xe_vm *vm = xe_migrate_get_vm(xe_device_get_root_tile(xe)->migrate); in evict_test_run_tile()