Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/gpu/drm/msm/msm_gem_vma.c msm_gem_vm_sm_step_remap() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 0,4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &queue->lock

drivers/gpu/drm/msm/msm_gem_vma.c msm_gem_vma_new() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 4096-ptr_max
PARAM_VALUE 0 vm_bo->list.gpuva.prev 4096-ptr_max
PARAM_VALUE 0 vm_bo->list.gpuva.prev->next 4096-ptr_max
PARAM_VALUE 0 vm_bo->list.gpuva.prev->next->next 4096-ptr_max
PARAM_VALUE 0 vm_bo->obj 0,4096-ptr_max
PARAM_VALUE 0 vm_bo->vm 4096-ptr_max
PARAM_VALUE 0 vm_bo->vm->extobj.list.prev 4096-ptr_max
PARAM_VALUE 0 vm_bo->vm->extobj.list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm_bo->vm->extobj.list.prev->next->next 4096-ptr_max
BUF_SIZE 0 vm_bo (-1),96
BUF_SIZE 0 vm_bo (-1),96
BUF_SIZE 0 vm_bo->vm (-1),416
DATA_SOURCE 0 vm_bo r drm_gpuvm_bo_obtain_locked
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/msm/msm_gem_submit.c msm_submit_retire() -> drm_gpuvm_bo_put()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 obj->resv
HALF_LOCKED2 &queue->lock

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

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 1-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 obj->resv
HALF_LOCKED2 &file_priv->driver_priv->mutex

drivers/gpu/drm/msm/msm_gem_shrinker.c with_vm_locks() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 4096-ptr_max
PARAM_VALUE 0 vm_bo->vm 4096-ptr_max
CAPPED_DATA 0 &vm_bo->list.entry.gem 1
NOCHECK_CALL

drivers/gpu/drm/xe/xe_vm.c vm_bind_ioctl_ops_create() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 4096-ptr_max
BUF_SIZE 0 vm_bo (-1),96
BUF_SIZE 0 vm_bo (-1),96
BUF_SIZE 0 vm_bo->obj (-1)-0,704
BUF_SIZE 0 vm_bo->vm (-1),416
DATA_SOURCE 0 vm_bo r drm_gpuvm_bo_obtain_locked
RX_PATH
NOCHECK_CALL
LOCK2 &vm->lock
LOCK2 bo->ttm.base.resv
TYPE_LOCK (struct xe_vm)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 4096-ptr_max
PARAM_VALUE 0 vm_bo->list.gpuva.prev 4096-ptr_max
PARAM_VALUE 0 vm_bo->list.gpuva.prev->next 4096-ptr_max
PARAM_VALUE 0 vm_bo->list.gpuva.prev->next->next 4096-ptr_max
PARAM_VALUE 0 vm_bo->obj 0,4096-ptr_max
PARAM_VALUE 0 vm_bo->vm 4096-ptr_max
PARAM_VALUE 0 vm_bo->vm->extobj.list.prev 4096-ptr_max
PARAM_VALUE 0 vm_bo->vm->extobj.list.prev->next 4096-ptr_max
PARAM_VALUE 0 vm_bo->vm->extobj.list.prev->next->next 4096-ptr_max
BUF_SIZE 0 vm_bo (-1),96
BUF_SIZE 0 vm_bo (-1),96
BUF_SIZE 0 vm_bo->obj (-1),704
BUF_SIZE 0 vm_bo->vm (-1),416
DATA_SOURCE 0 vm_bo r drm_gpuvm_bo_obtain_locked
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &vm->lock
HALF_LOCKED2 bo->ttm.base.resv
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_prepare_objects() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 0
PREEMPT_ADD
NOCHECK_CALL
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_prepare_objects() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 4096-ptr_max
PARAM_VALUE 0 vm_bo->kref.refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 vm_bo->list.entry.extobj.next 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_prepare_objects() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 0,4096-ptr_max
PARAM_VALUE 0 vm_bo->kref.refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 vm_bo->list.entry.extobj.next 4096-ptr_max
PREEMPT_ADD
NOCHECK_CALL
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_validate() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 0
NOCHECK_CALL
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_validate() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 4096-ptr_max
PARAM_VALUE 0 vm_bo->kref.refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 vm_bo->list.entry.evict.next 1-u64max
NOCHECK_CALL
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_gpuvm.c __drm_gpuvm_validate() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 0,4096-ptr_max
PARAM_VALUE 0 vm_bo->kref.refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 vm_bo->list.entry.evict.next 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_gpuvm.c drm_gpuva_unlink() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 &uvmm->mutex
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 obj->resv

drivers/gpu/drm/msm/msm_gem.c put_iova_spaces() -> drm_gpuvm_bo_put()

Type Parameter Key Value
PARAM_VALUE 0 vm_bo 4096-ptr_max
CAPPED_DATA 0 &vm_bo->list.entry.gem 1
CAPPED_DATA 0 &vm_bo->list.gpuva 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL