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/panthor/panthor_sched.c group_free_queue() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
BUF_SIZE 0 bo (-1)-s32max
BUF_SIZE 0 bo (-1)-s32max
NOSPEC 0 bo->va_node.size
NOCHECK_CALL
USER_DATA 0 bo->obj->size 0,4096-u64max[c]
USER_DATA 0 bo->obj->vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 bo->obj->vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 bo->va_node.size 1-21474869214[c]
USER_DATA 0 bo->va_node.start 0-s32max[c]

drivers/gpu/drm/panthor/panthor_sched.c group_free_queue() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
BUF_SIZE 0 bo (-1)-4064
BUF_SIZE 0 bo (-1)-4064
NOCHECK_CALL

drivers/gpu/drm/panthor/panthor_sched.c group_free_queue() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
BUF_SIZE 0 bo (-1)-s32max
BUF_SIZE 0 bo (-1)-s32max
NOSPEC 0 bo->va_node.size
NOCHECK_CALL
USER_DATA 0 bo->obj->size 0,4096-u64max[c]
USER_DATA 0 bo->obj->vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 bo->obj->vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 bo->va_node.size 1-21474869214[c]
USER_DATA 0 bo->va_node.start 0-s32max[c]

drivers/gpu/drm/panthor/panthor_sched.c group_release_work() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/panthor/panthor_sched.c group_release_work() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/panthor/panthor_sched.c group_release_work() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/panthor/panthor_fw.c panthor_fw_alloc_queue_iface_mem() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->kmap 0
PARAM_VALUE 0 bo->obj 4096-ptr_max
PARAM_VALUE 0 bo->obj->_resv.fences 0
PARAM_VALUE 0 bo->obj->_resv.lock.base.first_waiter 0
PARAM_VALUE 0 bo->obj->_resv.lock.base.magic 4096-ptr_max
PARAM_VALUE 0 bo->obj->_resv.lock.base.owner.counter 0
PARAM_VALUE 0 bo->obj->_resv.lock.ctx 0
PARAM_VALUE 0 bo->obj->_resv.lock.ww_class 8825623990767841280
PARAM_VALUE 0 bo->obj->dev 4096-ptr_max
PARAM_VALUE 0 bo->obj->filp 4096-ptr_max
PARAM_VALUE 0 bo->obj->funcs 8658083686396645376
PARAM_VALUE 0 bo->obj->funcs->vmap 4096-ptr_max
PARAM_VALUE 0 bo->obj->gpuva.lock.first_waiter 0
PARAM_VALUE 0 bo->obj->gpuva.lock.magic 4096-ptr_max
PARAM_VALUE 0 bo->obj->gpuva.lock.osq.tail.counter 0
PARAM_VALUE 0 bo->obj->gpuva.lock.owner.counter 0
PARAM_VALUE 0 bo->obj->handle_count 0
PARAM_VALUE 0 bo->obj->lru_node.next 4096-ptr_max
PARAM_VALUE 0 bo->obj->lru_node.prev 4096-ptr_max
PARAM_VALUE 0 bo->obj->refcount.refcount.refs.counter 1
PARAM_VALUE 0 bo->obj->resv->fences->max_fences 0-4294967295
PARAM_VALUE 0 bo->obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 bo->obj->resv->lock.ctx 0
PARAM_VALUE 0 bo->obj->size 0,4096-9223372036854775807
PARAM_VALUE 0 bo->obj->vma_node.driver_private 0
PARAM_VALUE 0 bo->obj->vma_node.vm_lock.magic 3736018669
PARAM_VALUE 0 bo->obj->vma_node.vm_lock.owner (-1)
PARAM_VALUE 0 bo->obj->vma_node.vm_lock.owner_cpu u32max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.color 0
PARAM_VALUE 0 bo->obj->vma_node.vm_node.flags 0
PARAM_VALUE 0 bo->obj->vma_node.vm_node.hole_size 0-1
PARAM_VALUE 0 bo->obj->vma_node.vm_node.hole_stack.next 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.hole_stack.prev 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.mm 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.rb.rb_left 0,4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.rb.rb_right 0,4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.rb_hole_size.__rb_parent_color 1
PARAM_VALUE 0 bo->obj->vma_node.vm_node.rb_hole_size.rb_left 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.rb_hole_size.rb_right 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.subtree_max_hole 1
PARAM_VALUE 0 bo->va_node.color 0
PARAM_VALUE 0 bo->va_node.hole_size 0-1
PARAM_VALUE 0 bo->va_node.hole_stack.next 4096-ptr_max
PARAM_VALUE 0 bo->va_node.hole_stack.prev 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->hole_stack.next 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->hole_stack.next->next 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->hole_stack.next->prev 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->holes_addr.rb_node 1-u64max
PARAM_VALUE 0 bo->va_node.mm->holes_size.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->holes_size.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb.rb_left 0,4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb.rb_left->rb_right 0
PARAM_VALUE 0 bo->va_node.rb.rb_right 0,4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb.rb_right->rb_left 0
PARAM_VALUE 0 bo->va_node.rb_hole_addr.rb_left 0,4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb_hole_addr.rb_left->rb_right 0
PARAM_VALUE 0 bo->va_node.rb_hole_addr.rb_right 0,4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb_hole_addr.rb_right->rb_left 0
PARAM_VALUE 0 bo->va_node.rb_hole_size.__rb_parent_color 1
PARAM_VALUE 0 bo->va_node.rb_hole_size.rb_left 4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb_hole_size.rb_right 4096-ptr_max
PARAM_VALUE 0 bo->va_node.size 1-u64max
PARAM_VALUE 0 bo->va_node.subtree_max_hole 1
PARAM_VALUE 0 bo->vm 4096-ptr_max
BUF_SIZE 0 bo 200
CAPPED_DATA 0 bo->obj->resv->fences 1
DATA_SOURCE 0 bo r panthor_kernel_bo_create
NOCHECK_CALL

drivers/gpu/drm/panthor/panthor_fw.c panthor_fw_unplug() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/panthor/panthor_heap.c panthor_alloc_heap_chunk() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->kmap 0
PARAM_VALUE 0 bo->obj 4096-ptr_max
PARAM_VALUE 0 bo->obj->_resv.lock.base.magic 4096-ptr_max
PARAM_VALUE 0 bo->obj->_resv.lock.ww_class 8825623990767841280
PARAM_VALUE 0 bo->obj->dev 4096-ptr_max
PARAM_VALUE 0 bo->obj->filp 4096-ptr_max
PARAM_VALUE 0 bo->obj->funcs 8658083686396645376
PARAM_VALUE 0 bo->obj->funcs->vmap 4096-ptr_max
PARAM_VALUE 0 bo->obj->gpuva.lock.magic 4096-ptr_max
PARAM_VALUE 0 bo->obj->lru_node.next 4096-ptr_max
PARAM_VALUE 0 bo->obj->lru_node.prev 4096-ptr_max
PARAM_VALUE 0 bo->obj->refcount.refcount.refs.counter 1
PARAM_VALUE 0 bo->obj->resv->fences->max_fences 0-4294967295
PARAM_VALUE 0 bo->obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 bo->obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 bo->obj->resv->lock.ctx 0
PARAM_VALUE 0 bo->obj->size 0,4096-9223372036854775807
PARAM_VALUE 0 bo->obj->vma_node.vm_lock.magic 3736018669
PARAM_VALUE 0 bo->obj->vma_node.vm_lock.owner (-1)
PARAM_VALUE 0 bo->obj->vma_node.vm_lock.owner_cpu u32max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.hole_size 0-1
PARAM_VALUE 0 bo->obj->vma_node.vm_node.hole_stack.next 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.hole_stack.prev 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.mm 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.rb_hole_size.__rb_parent_color 1
PARAM_VALUE 0 bo->obj->vma_node.vm_node.rb_hole_size.rb_left 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.rb_hole_size.rb_right 4096-ptr_max
PARAM_VALUE 0 bo->obj->vma_node.vm_node.subtree_max_hole 1
PARAM_VALUE 0 bo->va_node.color 0
PARAM_VALUE 0 bo->va_node.hole_size 0-1
PARAM_VALUE 0 bo->va_node.hole_stack.next 4096-ptr_max
PARAM_VALUE 0 bo->va_node.hole_stack.prev 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->hole_stack.next 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->hole_stack.next->next 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->hole_stack.next->prev 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->holes_addr.rb_node 1-u64max
PARAM_VALUE 0 bo->va_node.mm->holes_size.rb_leftmost 4096-ptr_max
PARAM_VALUE 0 bo->va_node.mm->holes_size.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb.rb_left 0,4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb.rb_left->rb_right 0
PARAM_VALUE 0 bo->va_node.rb.rb_right 0,4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb_hole_addr.rb_left 0,4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb_hole_addr.rb_left->rb_right 0
PARAM_VALUE 0 bo->va_node.rb_hole_addr.rb_right->rb_left 0
PARAM_VALUE 0 bo->va_node.rb_hole_size.__rb_parent_color 1
PARAM_VALUE 0 bo->va_node.rb_hole_size.rb_left 4096-ptr_max
PARAM_VALUE 0 bo->va_node.rb_hole_size.rb_right 4096-ptr_max
PARAM_VALUE 0 bo->va_node.size 1-u64max
PARAM_VALUE 0 bo->va_node.subtree_max_hole 1
PARAM_VALUE 0 bo->vm 4096-ptr_max
BUF_SIZE 0 bo 200
CAPPED_DATA 0 bo->obj->resv->fences 1
DATA_SOURCE 0 bo r panthor_kernel_bo_create
NOSPEC 0 bo->va_node.size
NOCHECK_CALL
USER_DATA 0 bo->obj->size 0,4096-9223372036854775807[c]
USER_DATA 0 bo->obj->vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 bo->obj->vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 bo->va_node.size 1-21474869214[c]
USER_DATA 0 bo->va_node.start 0-s32max[c]
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/panthor/panthor_heap.c panthor_free_heap_chunk() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/panthor/panthor_heap.c panthor_heap_pool_destroy() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->obj 4096-ptr_max
BUF_SIZE 0 bo (-1)-s32max
BUF_SIZE 0 bo (-1)-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pool->lock
LOCK2 &vm->heaps.lock
TYPE_LOCK (struct panthor_heap_pool)->lock
TYPE_LOCK (struct panthor_vm)->heaps.lock

drivers/gpu/drm/panthor/panthor_heap.c panthor_heap_return_chunk() -> panthor_kernel_bo_destroy()

Type Parameter Key Value
PARAM_VALUE 0 bo 4096-ptr_max
PARAM_VALUE 0 bo->va_node.start 0,4096-u64max
NOCHECK_CALL
LOCK2 &pool->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct panthor_heap_pool)->lock