Documented in 1 files:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/gpu/drm/xe/xe_pagefault.c xe_pagefault_handle_vma() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma $1
LOCK2 &vm->lock
LOCK2 _T->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_pagefault.c xe_pagefault_handle_vma() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma $1
LOCK2 &vm->lock
LOCK2 _T->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c new_vma() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->gpuva.flags 0,2-7190
PARAM_VALUE 0 vma->gpuva.vm 4096-ptr_max
BUF_SIZE 0 vma 416
CAPPED_DATA 0 vma->gpuva.vm 1
DATA_SOURCE 0 vma r xe_vma_create
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c vm_bind_ioctl_ops_parse() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma r gpuva_to_vma
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_invalidate_vma_submit() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
BUF_SIZE 0 vma (-1),416
BUF_SIZE 0 vma (-1),416
DATA_SOURCE 0 vma $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vm->svm.gpusvm.notifier_lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_invalidate_vma_submit() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
BUF_SIZE 0 vma (-1),416
BUF_SIZE 0 vma (-1),416
DATA_SOURCE 0 vma $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vm->svm.gpusvm.notifier_lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_snapshot_capture() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma r gpuva_to_vma
LOCK2 &coredump->lock
LOCK2 &pool->lock
LOCK2 &vm->snap_mutex
TYPE_LOCK (struct xe_devcoredump)->lock
TYPE_LOCK (struct xe_vm)->snap_mutex

drivers/gpu/drm/xe/xe_vm.c xe_vma_create() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
PARAM_VALUE 0 vma->gpuva.flags 0,2-7190
PARAM_VALUE 0 vma->gpuva.vm 4096-ptr_max
BUF_SIZE 0 vma 416
BUF_SIZE 0 vma->gpuva.vm 416
BIT_INFO 0 vma->gpuva.flags 0x0,0x1c16
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vma_destroy() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
BUF_SIZE 0 vma (-1),264,416
BUF_SIZE 0 vma (-1),264,416
CAPPED_DATA 0 vma 1
DATA_SOURCE 0 vma $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vma_destroy_late() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
BUF_SIZE 0 vma (-1),264
BUF_SIZE 0 vma (-1),264
CAPPED_DATA 0 vma 1
DATA_SOURCE 0 vma $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vm->lock

drivers/gpu/drm/xe/xe_vm.c xe_vma_free() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
BUF_SIZE 0 vma (-1),416
BUF_SIZE 0 vma (-1),416
BUF_SIZE 0 vma->gpuva.vm (-1),416
DATA_SOURCE 0 vma $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &vm->lock

drivers/gpu/drm/xe/xe_pt.c bind_op_commit() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &vm->lock

drivers/gpu/drm/xe/xe_pt.c unbind_op_commit() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma $3
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->userptr.invalidated_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &vm->lock
TYPE_LOCK (struct xe_userptr_vm)->invalidated_lock

drivers/gpu/drm/xe/xe_pt.c vma_check_userptr() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma $1
LOCK2 &vm->svm.gpusvm.notifier_lock
HALF_LOCKED2 &vm->lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock

drivers/gpu/drm/xe/xe_pt.c xe_pt_stage_bind() -> to_userptr_vma()

Type Parameter Key Value
PARAM_VALUE 0 vma 4096-ptr_max
DATA_SOURCE 0 vma $1
HALF_LOCKED2 &vm->lock