Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/drm_gpusvm.c drm_gpusvm_pages_valid_unlocked() -> drm_gpusvm_pages_valid()

Type Parameter Key Value
PARAM_VALUE 0 gpusvm 4096-ptr_max
PARAM_VALUE 0 gpusvm->notifier_lock.dep_map->name 0-255
PARAM_VALUE 0 gpusvm->notifier_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 gpusvm->notifier_lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 gpusvm->notifier_lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 gpusvm->notifier_lock.first_waiter->type 0-1
PARAM_VALUE 0 gpusvm->notifier_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 gpusvm->notifier_lock.wait_lock.owner (-1)
PARAM_VALUE 0 gpusvm->notifier_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 svm_pages 4096-ptr_max
PARAM_VALUE 1 svm_pages->dma_addr 1-u64max
PARAM_VALUE 1 svm_pages->drm 1-u64max
PARAM_VALUE 1 svm_pages->flags.__flags 0
CAPPED_DATA 0 &gpusvm->notifier_lock 1
DATA_SOURCE 0 gpusvm $0
DATA_SOURCE 1 svm_pages $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->lock
LOCK2 0 &gpusvm->notifier_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct drm_gpusvm)->notifier_lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_pt.c xe_svm_range_pages_valid() -> drm_gpusvm_pages_valid()

Type Parameter Key Value
PARAM_VALUE 1 svm_pages 4096-ptr_max
HALF_LOCKED2 &(&vm->svm.gpusvm)->notifier_lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 &vm->svm.gpusvm.notifier_lock

drivers/gpu/drm/xe/xe_svm.c xe_svm_range_pages_valid() -> drm_gpusvm_pages_valid()

Type Parameter Key Value
PARAM_VALUE 0 gpusvm->notifier_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 gpusvm->notifier_lock.first_waiter->type 0-1
PARAM_VALUE 1 svm_pages 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &(&vm->svm.gpusvm)->notifier_lock
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock