Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/gpu/drm/nouveau/nouveau_uvmm.c nouveau_uvmm_bind_job_cleanup() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 1 ops 1-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &file_priv->driver_priv->mutex

drivers/gpu/drm/nouveau/nouveau_uvmm.c nouveau_uvmm_bind_job_submit() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm->rb.tree.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 gpuvm->rb.tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 1 ops->list.next 4096-ptr_max
PARAM_VALUE 1 ops->list.next->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->prev 4096-ptr_max
BUF_SIZE 1 ops 16
DATA_SOURCE 1 ops r drm_gpuvm_sm_unmap_ops_create
NOCHECK_CALL
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/nouveau/nouveau_uvmm.c nouveau_uvmm_bind_job_submit() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm->rb.tree.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 gpuvm->rb.tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 1 ops 4096-ptr_max
BUF_SIZE 1 ops 16
DATA_SOURCE 1 ops r drm_gpuvm_sm_map_ops_create
NOCHECK_CALL
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/nouveau/nouveau_uvmm.c nouveau_uvmm_bind_job_submit() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm->rb.tree.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 gpuvm->rb.tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 1 ops->list.next 4096-ptr_max
PARAM_VALUE 1 ops->list.next->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->prev 4096-ptr_max
BUF_SIZE 1 ops 16
DATA_SOURCE 1 ops r drm_gpuvm_sm_unmap_ops_create
NOCHECK_CALL
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/nouveau/nouveau_uvmm.c nouveau_uvmm_bind_job_submit() -> drm_gpuva_ops_free()

Type Parameter Key Value
NOCHECK_CALL
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/xe/xe_vm.c vm_bind_ioctl_ops_create() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 1 ops->list.next 4096-ptr_max
PARAM_VALUE 1 ops->list.next->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->prev 4096-ptr_max
BUF_SIZE 1 ops 16
CAPPED_DATA 1 &ops->list 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_alloc_vma() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
PARAM_VALUE 1 ops 4096-ptr_max
BUF_SIZE 1 ops 16
CAPPED_DATA 1 &ops->list 1
PARAM_COMPARE 1 &ops->list != $1->list.next
NOCHECK_CALL
LOCK2 &vm->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_alloc_vma() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
PARAM_VALUE 0 gpuvm->rb.tree.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 gpuvm->rb.tree.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 1 ops 4096-ptr_max
BUF_SIZE 1 ops 16
CAPPED_DATA 1 &ops->list 1
NOCHECK_CALL
LOCK2 &vm->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_bind_ioctl() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
PARAM_VALUE 1 ops 1-u64max
NOCHECK_CALL
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/xe/xe_vm.c xe_vm_bind_kernel_bo() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
PARAM_VALUE 0 gpuvm->drm 4096-ptr_max
PARAM_VALUE 0 gpuvm->evict.list.next 4096-ptr_max
PARAM_VALUE 0 gpuvm->evict.list.prev 4096-ptr_max
PARAM_VALUE 0 gpuvm->extobj.list.next 4096-ptr_max
PARAM_VALUE 0 gpuvm->extobj.list.prev 4096-ptr_max
PARAM_VALUE 0 gpuvm->flags 1
PARAM_VALUE 0 gpuvm->mm_start 0
PARAM_VALUE 0 gpuvm->name 1-u64max
PARAM_VALUE 0 gpuvm->ops 3404220926455885824
PARAM_VALUE 0 gpuvm->r_obj 4096-ptr_max
PARAM_VALUE 0 gpuvm->rb.list.next 4096-ptr_max
PARAM_VALUE 0 gpuvm->rb.list.prev 4096-ptr_max
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 1 ops->list.next 4096-ptr_max
PARAM_VALUE 1 ops->list.next->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->prev 4096-ptr_max
BUF_SIZE 1 ops 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_sm_map_ops_create() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 1 ops->list.next 4096-ptr_max
PARAM_VALUE 1 ops->list.next->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->prev 4096-ptr_max
BUF_SIZE 1 ops 16
DATA_SOURCE 0 gpuvm $0
DATA_SOURCE 1 ops r _kzalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &vm->lock

drivers/gpu/drm/drm_gpuvm.c drm_gpuvm_bo_unmap_ops_create() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
PARAM_VALUE 0 gpuvm->ops 0,4096-ptr_max
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 1 ops->list.next 4096-ptr_max
PARAM_VALUE 1 ops->list.next->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->prev 4096-ptr_max
BUF_SIZE 0 gpuvm (-1),416
BUF_SIZE 0 gpuvm (-1),416
BUF_SIZE 1 ops 16
DATA_SOURCE 1 ops r _kzalloc_noprof
RX_PATH
NOCHECK_CALL
LOCK2 &vm->lock
LOCK2 bo->ttm.base.resv
TYPE_LOCK (struct xe_vm)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 gpuvm 4096-ptr_max
PARAM_VALUE 0 gpuvm->ops 0,4096-ptr_max
PARAM_VALUE 0 gpuvm->ops->op_alloc 0,4096-ptr_max
PARAM_VALUE 0 gpuvm->rb.tree.rb_root.rb_node 1-u64max
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 1 ops->list.next 4096-ptr_max
PARAM_VALUE 1 ops->list.next->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->prev 4096-ptr_max
BUF_SIZE 1 ops 16
DATA_SOURCE 0 gpuvm $0
DATA_SOURCE 1 ops r _kzalloc_noprof
RX_PATH
NOCHECK_CALL
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/drm_gpuvm.c drm_gpuvm_sm_unmap_ops_create() -> drm_gpuva_ops_free()

Type Parameter Key Value
PARAM_VALUE 1 ops 4096-ptr_max
PARAM_VALUE 1 ops->list.next 4096-ptr_max
PARAM_VALUE 1 ops->list.next->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->next 4096-ptr_max
PARAM_VALUE 1 ops->list.prev->prev 4096-ptr_max
BUF_SIZE 1 ops 16
DATA_SOURCE 0 gpuvm $0
DATA_SOURCE 1 ops r _kzalloc_noprof
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 &uvmm->mutex
HALF_LOCKED2 &vm->lock