drm_gpuvm
struct drm_gpuvm *gpuvm)
drm_gpuvm_range_valid(struct drm_gpuvm *gpuvm,
drm_gpuvm_init(struct drm_gpuvm *gpuvm, const char *name,
drm_gpuvm_fini(struct drm_gpuvm *gpuvm)
struct drm_gpuvm *gpuvm = container_of(kref, struct drm_gpuvm, kref);
drm_gpuvm_put(struct drm_gpuvm *gpuvm)
drm_gpuvm_prepare_vm(struct drm_gpuvm *gpuvm,
__drm_gpuvm_prepare_objects(struct drm_gpuvm *gpuvm,
drm_gpuvm_prepare_objects_locked(struct drm_gpuvm *gpuvm,
drm_gpuvm_prepare_objects(struct drm_gpuvm *gpuvm,
drm_gpuvm_prepare_range(struct drm_gpuvm *gpuvm, struct drm_exec *exec,
struct drm_gpuvm *gpuvm = vm_exec->vm;
struct drm_gpuvm *gpuvm = vm_exec->vm;
__drm_gpuvm_validate(struct drm_gpuvm *gpuvm, struct drm_exec *exec)
drm_gpuvm_validate_locked(struct drm_gpuvm *gpuvm, struct drm_exec *exec)
drm_gpuvm_validate(struct drm_gpuvm *gpuvm, struct drm_exec *exec)
drm_gpuvm_resv_add_fence(struct drm_gpuvm *gpuvm,
drm_gpuvm_bo_create(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *gpuvm = vm_bo->vm;
__drm_gpuvm_bo_find(struct drm_gpuvm *gpuvm,
drm_gpuvm_bo_find(struct drm_gpuvm *gpuvm,
drm_gpuvm_bo_obtain(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *gpuvm = __vm_bo->vm;
struct drm_gpuvm *gpuvm = vm_bo->vm;
struct drm_gpuvm *gpuvm = vm_bo->vm;
__drm_gpuva_insert(struct drm_gpuvm *gpuvm,
drm_gpuva_insert(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *gpuvm = va->vm;
struct drm_gpuvm *gpuvm = va->vm;
drm_gpuva_find_first(struct drm_gpuvm *gpuvm,
drm_gpuva_find(struct drm_gpuvm *gpuvm,
drm_gpuva_find_prev(struct drm_gpuvm *gpuvm, u64 start)
drm_gpuva_find_next(struct drm_gpuvm *gpuvm, u64 end)
drm_gpuvm_interval_empty(struct drm_gpuvm *gpuvm, u64 addr, u64 range)
drm_gpuva_map(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *gpuvm = va->vm;
__drm_gpuvm_sm_map(struct drm_gpuvm *gpuvm,
__drm_gpuvm_sm_unmap(struct drm_gpuvm *gpuvm,
drm_gpuvm_sm_map(struct drm_gpuvm *gpuvm, void *priv,
drm_gpuvm_sm_unmap(struct drm_gpuvm *gpuvm, void *priv,
drm_gpuvm_sm_map_exec_lock(struct drm_gpuvm *gpuvm,
drm_gpuvm_sm_unmap_exec_lock(struct drm_gpuvm *gpuvm, struct drm_exec *exec,
gpuva_op_alloc(struct drm_gpuvm *gpuvm)
gpuva_op_free(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *vm;
struct drm_gpuvm *gpuvm = args->vm;
__drm_gpuvm_sm_map_ops_create(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *vm;
drm_gpuvm_sm_map_ops_create(struct drm_gpuvm *gpuvm,
drm_gpuvm_madvise_ops_create(struct drm_gpuvm *gpuvm,
drm_gpuvm_sm_unmap_ops_create(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *vm;
drm_gpuvm_prefetch_ops_create(struct drm_gpuvm *gpuvm,
drm_gpuva_ops_free(struct drm_gpuvm *gpuvm,
__restore_vm_bo_list(struct drm_gpuvm *gpuvm, spinlock_t *lock,
__drm_gpuvm_bo_list_add(struct drm_gpuvm *gpuvm, spinlock_t *lock,
__drm_gpuvm_bo_list_del(struct drm_gpuvm *gpuvm, spinlock_t *lock,
static int __drm_gpuva_insert(struct drm_gpuvm *gpuvm,
drm_gpuvm_warn_check_overflow(struct drm_gpuvm *gpuvm, u64 addr, u64 range)
drm_gpuvm_in_mm_range(struct drm_gpuvm *gpuvm, u64 addr, u64 range)
drm_gpuvm_in_kernel_node(struct drm_gpuvm *gpuvm, u64 addr, u64 range)
struct drm_gpuvm *gpuvm);
struct drm_gpuvm *gpuvm)
drm_gpuvm_sm_map_ops_create(struct drm_gpuvm *gpuvm,
drm_gpuvm_madvise_ops_create(struct drm_gpuvm *gpuvm,
drm_gpuvm_sm_unmap_ops_create(struct drm_gpuvm *gpuvm,
drm_gpuvm_prefetch_ops_create(struct drm_gpuvm *gpuvm,
void drm_gpuva_ops_free(struct drm_gpuvm *gpuvm,
void (*vm_free)(struct drm_gpuvm *gpuvm);
int drm_gpuvm_sm_map(struct drm_gpuvm *gpuvm, void *priv,
int drm_gpuvm_sm_unmap(struct drm_gpuvm *gpuvm, void *priv,
int drm_gpuvm_sm_map_exec_lock(struct drm_gpuvm *gpuvm,
int drm_gpuvm_sm_unmap_exec_lock(struct drm_gpuvm *gpuvm, struct drm_exec *exec,
void drm_gpuva_map(struct drm_gpuvm *gpuvm,
int drm_gpuva_insert(struct drm_gpuvm *gpuvm, struct drm_gpuva *va);
struct drm_gpuva *drm_gpuva_find(struct drm_gpuvm *gpuvm,
struct drm_gpuva *drm_gpuva_find_first(struct drm_gpuvm *gpuvm,
struct drm_gpuva *drm_gpuva_find_prev(struct drm_gpuvm *gpuvm, u64 start);
struct drm_gpuva *drm_gpuva_find_next(struct drm_gpuvm *gpuvm, u64 end);
void drm_gpuvm_init(struct drm_gpuvm *gpuvm, const char *name,
static inline struct drm_gpuvm *
drm_gpuvm_get(struct drm_gpuvm *gpuvm)
void drm_gpuvm_put(struct drm_gpuvm *gpuvm);
bool drm_gpuvm_range_valid(struct drm_gpuvm *gpuvm, u64 addr, u64 range);
bool drm_gpuvm_interval_empty(struct drm_gpuvm *gpuvm, u64 addr, u64 range);
struct drm_gpuvm;
drm_gpuvm_resv_protected(struct drm_gpuvm *gpuvm)
drm_gpuvm_immediate_mode(struct drm_gpuvm *gpuvm)
drm_gpuvm_is_extobj(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *vm;
int drm_gpuvm_prepare_vm(struct drm_gpuvm *gpuvm,
int drm_gpuvm_prepare_objects(struct drm_gpuvm *gpuvm,
int drm_gpuvm_prepare_range(struct drm_gpuvm *gpuvm,
int drm_gpuvm_validate(struct drm_gpuvm *gpuvm, struct drm_exec *exec);
void drm_gpuvm_resv_add_fence(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *vm;
drm_gpuvm_bo_create(struct drm_gpuvm *gpuvm,
drm_gpuvm_bo_obtain(struct drm_gpuvm *gpuvm,
drm_gpuvm_bo_find(struct drm_gpuvm *gpuvm,
struct drm_gpuvm *vm;