Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/gpu/drm/xe/xe_vm_madvise.c get_vmas() -> drm_gpuva_find_first()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
USER_DATA 1 addr 0-u64max[c]
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm_madvise.c xe_zap_ptes_in_madvise_range() -> drm_gpuva_find_first()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
CAPPED_DATA 1 addr 1
CAPPED_DATA 1 addr 1
DATA_SOURCE 1 addr $1
USER_DATA 1 addr 0-u64max[c]
LOCK2 &vm->lock
HALF_LOCKED2 &vm->svm.gpusvm.notifier_lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c get_mem_attrs() -> drm_gpuva_find_first()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
DATA_SOURCE 1 addr $2
USER_DATA 1 addr 0-u64max[u]
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_find_overlapping_vma() -> drm_gpuva_find_first()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
PARAM_VALUE 2 range 4096
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 range $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 addr unit_byte
LOCK2 &vm->snap_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &vm->lock
TYPE_LOCK (struct xe_vm)->snap_mutex

drivers/gpu/drm/xe/xe_vm.c xe_vm_query_vmas() -> drm_gpuva_find_first()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
DATA_SOURCE 1 addr $1
USER_DATA 1 addr 0-u64max[u]
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_sm_map() -> drm_gpuva_find_first()

Type Parameter Key Value
CAPPED_DATA 0 gpuvm->mm_start 1
DATA_SOURCE 0 gpuvm $0
PARAM_COMPARE 0 gpuvm->mm_start <= $1
PARAM_COMPARE 1 addr >= $0->mm_start
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 addr 0-u64max[c]
UNITS 1 addr unit_byte
UNITS 2 range unit_byte
HALF_LOCKED2 &queue->lock

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_sm_unmap() -> drm_gpuva_find_first()

Type Parameter Key Value
CAPPED_DATA 0 gpuvm->mm_start 1
DATA_SOURCE 0 gpuvm $0
DATA_SOURCE 1 addr $3
PARAM_COMPARE 0 gpuvm->mm_start <= $1
PARAM_COMPARE 1 addr >= $0->mm_start
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 addr 0
USER_DATA 2 range 0[c]
UNITS 1 addr unit_byte
UNITS 2 range unit_byte
HALF_LOCKED2 &queue->lock

drivers/gpu/drm/drm_gpuvm.c drm_gpuva_find() -> drm_gpuva_find_first()

Type Parameter Key Value
DATA_SOURCE 0 gpuvm $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 range $2

drivers/gpu/drm/drm_gpuvm.c drm_gpuvm_interval_empty() -> drm_gpuva_find_first()

Type Parameter Key Value
DATA_SOURCE 0 gpuvm $0
DATA_SOURCE 1 addr $1
DATA_SOURCE 2 range $2
UNITS 2 range unit_byte
LOCK2 &sched->mutex
LOCK2 &uvmm->mutex
HALF_LOCKED2 &file_priv->driver_priv->mutex
TYPE_LOCK (struct nouveau_sched)->mutex
TYPE_LOCK (struct nouveau_uvmm)->mutex

drivers/gpu/drm/drm_gpuvm.c drm_gpuvm_prefetch_ops_create() -> drm_gpuva_find_first()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
DATA_SOURCE 0 gpuvm $0
DATA_SOURCE 1 addr $1
RX_PATH
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/drm_gpuvm.c drm_gpuvm_prepare_range() -> drm_gpuva_find_first()

Type Parameter Key Value
DATA_SOURCE 0 gpuvm $0
DATA_SOURCE 1 addr $2

drivers/gpu/drm/panthor/panthor_mmu.c panthor_vm_get_bo_for_va() -> drm_gpuva_find_first()

Type Parameter Key Value
PARAM_VALUE 2 range 1
DATA_SOURCE 1 addr $1
LOCK2 &sched->lock
LOCK2 &vm->op_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct panthor_scheduler)->lock
TYPE_LOCK (struct panthor_vm)->op_lock