Lines Matching full:gpu

24  * struct drm_gpusvm_devmem_ops - Operations structure for GPU SVM device memory
26 * This structure defines the operations for GPU Shared Virtual Memory (SVM)
27 * device memory. These operations are provided by the GPU driver to manage device memory
84 * struct drm_gpusvm_devmem - Structure representing a GPU SVM device memory allocation
89 * @ops: Pointer to the operations structure for GPU SVM device memory
105 * struct drm_gpusvm_ops - Operations structure for GPU SVM
107 * This structure defines the operations for GPU Shared Virtual Memory (SVM).
108 * These operations are provided by the GPU driver to manage SVM ranges and
113 * @notifier_alloc: Allocate a GPU SVM notifier (optional)
115 * Allocate a GPU SVM notifier.
117 * Return: Pointer to the allocated GPU SVM notifier on success, NULL on failure.
122 * @notifier_free: Free a GPU SVM notifier (optional)
123 * @notifier: Pointer to the GPU SVM notifier to be freed
125 * Free a GPU SVM notifier.
130 * @range_alloc: Allocate a GPU SVM range (optional)
131 * @gpusvm: Pointer to the GPU SVM
133 * Allocate a GPU SVM range.
135 * Return: Pointer to the allocated GPU SVM range on success, NULL on failure.
140 * @range_free: Free a GPU SVM range (optional)
141 * @range: Pointer to the GPU SVM range to be freed
143 * Free a GPU SVM range.
148 * @invalidate: Invalidate GPU SVM notifier (required)
149 * @gpusvm: Pointer to the GPU SVM
150 * @notifier: Pointer to the GPU SVM notifier
153 * Invalidate the GPU page tables. It can safely walk the notifier range
162 * struct drm_gpusvm_notifier - Structure representing a GPU SVM notifier
164 * @gpusvm: Pointer to the GPU SVM structure
166 * @itree: Interval tree node for the notifier (inserted in GPU SVM)
176 * This structure represents a GPU SVM notifier.
191 * struct drm_gpusvm_range_flags - Structure representing a GPU SVM range flags
216 * struct drm_gpusvm_range - Structure representing a GPU SVM range
218 * @gpusvm: Pointer to the GPU SVM structure
219 * @notifier: Pointer to the GPU SVM notifier
221 * @itree: Interval tree node for the range (inserted in GPU SVM notifier)
229 * This structure represents a GPU SVM range used for tracking memory ranges
245 * struct drm_gpusvm - GPU SVM structure
247 * @name: Name of the GPU SVM
251 * @mm_start: Start address of GPU SVM
252 * @mm_range: Range of the GPU SVM
254 * @ops: Pointer to the operations structure for GPU SVM
259 * @root: Cached root node of the Red-Black tree containing GPU SVM notifiers
264 * This structure represents a GPU SVM (Shared Virtual Memory) used for tracking
295 * struct drm_gpusvm_ctx - DRM GPU SVM context
301 * remains with either exclusive GPU or CPU access.
385 * drm_gpusvm_driver_set_lock() - Set the lock protecting accesses to GPU SVM
386 * @gpusvm: Pointer to the GPU SVM structure.
404 * drm_gpusvm_notifier_lock() - Lock GPU SVM notifier
405 * @gpusvm__: Pointer to the GPU SVM structure.
407 * Abstract client usage GPU SVM notifier lock, take lock
413 * drm_gpusvm_notifier_unlock() - Unlock GPU SVM notifier
414 * @gpusvm__: Pointer to the GPU SVM structure.
416 * Abstract client usage GPU SVM notifier lock, drop lock
422 * drm_gpusvm_range_start() - GPU SVM range start address
423 * @range: Pointer to the GPU SVM range
425 * Return: GPU SVM range start address
434 * drm_gpusvm_range_end() - GPU SVM range end address
435 * @range: Pointer to the GPU SVM range
437 * Return: GPU SVM range end address
446 * drm_gpusvm_range_size() - GPU SVM range size
447 * @range: Pointer to the GPU SVM range
449 * Return: GPU SVM range size
458 * drm_gpusvm_notifier_start() - GPU SVM notifier start address
459 * @notifier: Pointer to the GPU SVM notifier
461 * Return: GPU SVM notifier start address
470 * drm_gpusvm_notifier_end() - GPU SVM notifier end address
471 * @notifier: Pointer to the GPU SVM notifier
473 * Return: GPU SVM notifier end address
482 * drm_gpusvm_notifier_size() - GPU SVM notifier size
483 * @notifier: Pointer to the GPU SVM notifier
485 * Return: GPU SVM notifier size
495 * __drm_gpusvm_range_next() - Get the next GPU SVM range in the list
496 * @range: a pointer to the current GPU SVM range
512 * drm_gpusvm_for_each_range() - Iterate over GPU SVM ranges in a notifier
515 * @notifier__: Pointer to the GPU SVM notifier
519 * This macro is used to iterate over GPU SVM ranges in a notifier. It is safe