Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/gpu/drm/drm_exec.c drm_exec_lock_contended() -> drm_exec_obj_locked()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 0 exec->contended 0
PARAM_VALUE 0 exec->ticket.contending_lock 0,4096-ptr_max
PARAM_VALUE 0 exec->ticket.wounded 0-1
PARAM_VALUE 0 exec->ticket.ww_class->acquire_name 0,4096-ptr_max
PARAM_VALUE 0 exec->ticket.ww_class->is_wait_die 0-s32max
PARAM_VALUE 0 exec->ticket.ww_class->mutex_name 0,4096-ptr_max
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 1 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 obj->resv->lock.base.osq.tail.counter 0-s32max
BUF_SIZE 0 exec (-1),16,32
BUF_SIZE 0 exec (-1),16,32
DATA_SOURCE 0 exec $0
BIT_INFO 0 exec->flags 0x0,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 exec->max_objects 1-131072[c]
NO_OVERFLOW_SIMPLE 0 exec->contended->size
NO_OVERFLOW_SIMPLE 1 obj->size
LOCK2 1 &obj->resv->lock
HALF_LOCKED2 &gpu->lock
HALF_LOCKED2 &mem->lock
HALF_LOCKED2 &mem->process_info->lock
HALF_LOCKED2 &p->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu
TYPE_LOCK (struct dma_resv)->lock

drivers/gpu/drm/drm_exec.c drm_exec_lock_obj() -> drm_exec_obj_locked()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 0 exec->contended 0
PARAM_VALUE 0 exec->contended->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 exec->contended->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 exec->contended->resv->lock.base.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 exec->contended->resv->lock.base.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 exec->contended->resv->lock.base.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 exec->contended->resv->lock.base.osq.tail.counter 0-s32max
PARAM_VALUE 0 exec->ticket.contending_lock 0
PARAM_VALUE 0 exec->ticket.wounded 0-1
PARAM_VALUE 0 exec->ticket.ww_class->acquire_name 0,4096-ptr_max
PARAM_VALUE 0 exec->ticket.ww_class->is_wait_die 0-s32max
PARAM_VALUE 0 exec->ticket.ww_class->mutex_name 0,4096-ptr_max
PARAM_VALUE 1 obj 4096-ptr_max
PARAM_VALUE 1 obj->_resv.lock.ww_class->acquire_name 0,4096-ptr_max
PARAM_VALUE 1 obj->_resv.lock.ww_class->is_wait_die 0-s32max
PARAM_VALUE 1 obj->_resv.lock.ww_class->mutex_name 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->close 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->evict 0
PARAM_VALUE 1 obj->funcs->export 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->free 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->get_sg_table 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->mmap 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->open 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->pin 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->print_info 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->rss 0,7796836804503863296
PARAM_VALUE 1 obj->funcs->status 0,2206473683877605376,4732760284336451584,5734366281981706240,5836107275532460032,6072073946299289600,6713341571981008896
PARAM_VALUE 1 obj->funcs->unpin 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->vm_ops 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->vmap 0,4096-ptr_max
PARAM_VALUE 1 obj->funcs->vunmap 0,4096-ptr_max
PARAM_VALUE 1 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 1 obj->resv->lock.base.first_waiter 0,4096-5159360019465732095,5159360019465732097-ptr_max
PARAM_VALUE 1 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 obj->resv->lock.base.osq.tail.counter 0-s32max
PARAM_VALUE 1 obj->resv->lock.ww_class->is_wait_die 0-1
BUF_SIZE 0 exec (-1),16,32
BUF_SIZE 0 exec (-1),16,32
BUF_SIZE 1 obj (-1),1-4064
BUF_SIZE 1 obj (-1),1-4064
BUF_SIZE 1 obj->dev (-1),3696
DATA_SOURCE 0 exec $0
DATA_SOURCE 1 obj $1
PARAM_COMPARE 0 exec->prelocked != $1
PARAM_COMPARE 1 obj != $0->prelocked
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 exec->max_objects 1-131072[c]
NO_OVERFLOW_SIMPLE 0 exec->contended->size
NO_OVERFLOW_SIMPLE 0 exec->prelocked->size
NO_OVERFLOW_SIMPLE 0 exec->ticket.deadlock_inject_countdown
NO_OVERFLOW_SIMPLE 0 exec->ticket.deadlock_inject_interval
NO_OVERFLOW_SIMPLE 1 obj->dev->mode_config.num_colorop
NO_OVERFLOW_SIMPLE 1 obj->dev->mode_config.num_crtc
NO_OVERFLOW_SIMPLE 1 obj->dev->mode_config.num_total_plane
NO_OVERFLOW_SIMPLE 1 obj->dev->num_crtcs
LOCK2 1 obj->resv
HALF_LOCKED2 &gpu->lock
HALF_LOCKED2 &mem->lock
HALF_LOCKED2 &mem->process_info->lock
HALF_LOCKED2 &p->mutex
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu