Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- drivers/gpu/drm/drm_gpuvm.c
- drivers/gpu/drm/imagination/pvr_vm.c
- drivers/gpu/drm/panthor/panthor_mmu.c, line 1496
- drivers/gpu/drm/xe/xe_vm.c, line 1350
- include/drm/drm_gpuvm.h
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 |