Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 16 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c amdgpu_hmm_range_alloc() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 0,4096-ptr_max
PARAM_VALUE 0 bo->notifier.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bo->notifier.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 bo->tbo.bdev->pool.dev->dma_io_tlb_mem->can_grow 0-1
DATA_SOURCE 0 bo $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &p->mutex
HALF_LOCKED2 &prange->migrate_mutex
HALF_LOCKED2 &process_info->lock
HALF_LOCKED2 &svms->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c amdgpu_driver_postclose_kms() -> amdgpu_bo_ref()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_p1_user_fence() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_fini() -> amdgpu_bo_ref()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_init() -> amdgpu_bo_ref()

Type Parameter Key Value
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_lock_by_pasid() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &(&amdgpu_pasid_xa)->xa_lock
LOCK2 irqflags
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_lock_individual() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 1-u64max
PARAM_VALUE 0 bo->tbo.base.funcs->free 0,4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &vm->individual_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct amdgpu_vm)->individual_lock

drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_plane.c amdgpu_dm_plane_helper_prepare_fb() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv->fences->max_fences 0-4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.ctx 0
PARAM_VALUE 0 bo->tbo.bdev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 bo->tbo.bdev->lru_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.resource 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->lru.link.next->prev 4096-ptr_max
CAPPED_DATA 0 bo->tbo.base.resv->fences 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/mes_userqueue.c mes_userq_create_wptr_mapping() -> amdgpu_bo_ref()

Type Parameter Key Value
LOCK2 obj->tbo.base.resv

drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_wb.c amdgpu_dm_wb_prepare_job() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv->fences->max_fences 0-4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.ctx 0
PARAM_VALUE 0 bo->tbo.bdev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 bo->tbo.bdev->lru_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.resource 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->lru.link.next->prev 4096-ptr_max
CAPPED_DATA 0 bo->tbo.base.resv->fences 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c amdgpu_bo_list_create() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_queue.c kfd_queue_buffer_get() -> amdgpu_bo_ref()

Type Parameter Key Value
LOCK2 &p->mutex
LOCK2 vm->root.bo->tbo.base.resv
TYPE_LOCK (struct kfd_process)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c amdgpu_userq_get_doorbell_index() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max

drivers/gpu/drm/amd/amdgpu/amdgpu_display.c amdgpu_display_crtc_page_flip_target() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
NOCHECK_CALL
LOCK2 &crtc->mutex
LOCK2 &plane->mutex
TYPE_LOCK (struct drm_crtc)->mutex
TYPE_LOCK (struct drm_plane)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c amdgpu_vkms_prepare_fb() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv->fences->max_fences 0-4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.ctx 0
PARAM_VALUE 0 bo->tbo.bdev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 bo->tbo.bdev->lru_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.resource 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->lru.link.next->prev 4096-ptr_max
CAPPED_DATA 0 bo->tbo.base.resv->fences 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_create_ioctl() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.osq.tail.counter 0-s32max
LOCK2 0 bo->tbo.base.resv

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_userptr_ioctl() -> amdgpu_bo_ref()

Type Parameter Key Value

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c amdgpu_amdkfd_add_gws_to_process() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 1-u64max
DATA_SOURCE 0 bo $1
LOCK2 &p->mutex
TYPE_LOCK (struct kfd_process)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c amdgpu_amdkfd_map_gtt_bo_to_gart() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv->fences->max_fences 0-4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.ctx 0
PARAM_VALUE 0 bo->tbo.bdev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 bo->tbo.bdev->lru_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.resource 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->lru.link.next->prev 4096-ptr_max
PARAM_VALUE 0 bo->vm_bo 4096-ptr_max
PARAM_VALUE 0 bo->vm_bo->vm 4096-ptr_max
PARAM_VALUE 0 bo->vm_bo->vm->process_info 4096-ptr_max
CAPPED_DATA 0 bo->tbo.base.resv->fences 1
DATA_SOURCE 0 bo $0
LOCK2 &p->mutex
TYPE_LOCK (struct kfd_process)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c create_dmamap_sg_bo() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->notifier.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bo->notifier.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 bo->tbo.base.resv 4096-ptr_max
PARAM_VALUE 0 bo->tbo.base.resv->fences->max_fences 0-4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 bo->tbo.base.resv->lock.base.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 bo->tbo.base.resv->lock.ww_class->is_wait_die 0-1
PARAM_VALUE 0 bo->tbo.bdev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 bo->tbo.bdev->dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 bo->tbo.bdev->lru_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 bo->tbo.bdev->pool.dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 bo->tbo.bdev->pool.dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 bo->tbo.resource 0,4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->bo->bdev->unevictable.prev->next->next 4096-ptr_max
PARAM_VALUE 0 bo->tbo.resource->lru.link.next->prev 4096-ptr_max
CAPPED_DATA 0 bo->tbo.base.resv->fences 1
USER_DATA 0 bo->notifier.interval_tree.__subtree_last 0-u64max[c]
USER_DATA 0 bo->tbo.ttm->num_pages 0-u32max[c]
LOCK2 &mem->lock
LOCK2 &mem->process_info->lock
LOCK2 &p->mutex
HALF_LOCKED2 &gobj->dev->object_name_lock
TYPE_LOCK (struct amdkfd_process_info)->lock
TYPE_LOCK (struct kfd_process)->mutex
TYPE_LOCK (struct kgd_mem)->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c amdgpu_mqd_info_read() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c amdgpu_pt_info_read() -> amdgpu_bo_ref()

Type Parameter Key Value
PARAM_VALUE 0 bo 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c amdgpu_vm_pt_alloc() -> amdgpu_bo_ref()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->eviction_lock
LOCK2 &vm->eviction_lock
LOCK2 global &drm_unplug_srcu
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &prange->lock
HALF_LOCKED2 &prange->migrate_mutex
HALF_LOCKED2 &svms->lock
TYPE_LOCK (struct amdgpu_vm)->eviction_lock