Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
NOCHECK_CALL
LOCK2 0 obj->resv
HALF_LOCKED2 &queue->lock

drivers/gpu/drm/msm/msm_drv.c msm_ioctl_gem_info_get_metadata() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
DATA_SOURCE 0 obj $0
NOCHECK_CALL
LOCK2 0 obj->resv

drivers/gpu/drm/msm/msm_drv.c msm_ioctl_gem_info_get_metadata() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
DATA_SOURCE 0 obj $0
NOCHECK_CALL
LOCK2 0 obj->resv

drivers/gpu/drm/msm/msm_drv.c msm_ioctl_gem_info_set_metadata() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
DATA_SOURCE 0 obj $0
NOCHECK_CALL
LOCK2 0 obj->resv

drivers/gpu/drm/msm/msm_gpu.c crashstate_get_bos() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.dep_map->name 0-255
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 obj->filp->f_mapping->host->i_mapping 4096-ptr_max
PARAM_VALUE 0 obj->lru 4096-ptr_max
PARAM_VALUE 0 obj->lru->list.prev 4096-ptr_max
PARAM_VALUE 0 obj->lru_node.next 4096-ptr_max
PARAM_VALUE 0 obj->lru_node.next->prev 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &gpu->lock
LOCK2 0 obj->resv
TYPE_LOCK (struct msm_gpu)->lock

drivers/gpu/drm/msm/msm_gem.c msm_gem_describe() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->gpuva.list.next 4096-ptr_max
PARAM_VALUE 0 obj->resv 4096-ptr_max
BUF_SIZE 0 obj (-1),704
BUF_SIZE 0 obj (-1),704
CAPPED_DATA 0 &obj->gpuva.list 1
DATA_SOURCE 0 obj $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &m->lock
LOCK2 0 obj->resv
HALF_LOCKED2 &priv->obj_lock
TYPE_LOCK (struct seq_file)->lock

drivers/gpu/drm/msm/msm_gem.c msm_gem_fault() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
BUF_SIZE 0 obj s32min-(-2),1-s32max
BUF_SIZE 0 obj s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 obj unit_byte
LOCK2 0 obj->resv

drivers/gpu/drm/msm/msm_gem.c msm_gem_fault() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
BUF_SIZE 0 obj s32min-(-2),1-s32max
BUF_SIZE 0 obj s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 0 obj unit_byte
LOCK2 0 obj->resv

drivers/gpu/drm/msm/msm_gem.c msm_gem_get_vaddr() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->_resv.lock.ww_class->acquire_name 0,4096-ptr_max
PARAM_VALUE 0 obj->_resv.lock.ww_class->is_wait_die 0-s32max
PARAM_VALUE 0 obj->_resv.lock.ww_class->mutex_name 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->close 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->evict 0
PARAM_VALUE 0 obj->funcs->export 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->free 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->get_sg_table 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->mmap 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->open 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->pin 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->print_info 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->rss 0,7796836804503863296
PARAM_VALUE 0 obj->funcs->status 0,2206473683877605376,4732760284336451584,5734366281981706240,5836107275532460032,6072073946299289600,6713341571981008896
PARAM_VALUE 0 obj->funcs->unpin 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->vm_ops 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->vmap 0,4096-ptr_max
PARAM_VALUE 0 obj->funcs->vunmap 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
DATA_SOURCE 0 obj $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 obj->dev->mode_config.num_colorop
NO_OVERFLOW_SIMPLE 0 obj->dev->mode_config.num_crtc
NO_OVERFLOW_SIMPLE 0 obj->dev->mode_config.num_total_plane
NO_OVERFLOW_SIMPLE 0 obj->dev->num_crtcs
LOCK2 0 obj->resv
HALF_LOCKED2 &dev->clientlist_mutex
HALF_LOCKED2 &gpu->lock
HALF_LOCKED2 &helper->lock
HALF_LOCKED2 &init_lock
HALF_LOCKED2 &msm_host->cmd_mutex

drivers/gpu/drm/msm/msm_gem.c msm_gem_madvise() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->dev 4096-ptr_max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.dep_map->name 0-255
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 obj->lru 4096-ptr_max
PARAM_VALUE 0 obj->lru->list.prev 4096-ptr_max
PARAM_VALUE 0 obj->lru_node.next 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
DATA_SOURCE 0 obj $0
NOCHECK_CALL
LOCK2 0 obj->resv

drivers/gpu/drm/msm/msm_gem.c msm_gem_put_vaddr() -> msm_gem_unlock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->dev 4096-ptr_max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.dep_map->name 0-255
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 obj->dev->gem_lru_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 obj->lru 4096-ptr_max
PARAM_VALUE 0 obj->lru_node.next 4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->resv->lock.base.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 obj->resv->lock.base.first_waiter->task->blocked_on 0
PARAM_VALUE 0 obj->resv->lock.base.osq.tail.counter 0-s32max
DATA_SOURCE 0 obj $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 obj->resv
HALF_LOCKED2 &gpu->lock
HALF_LOCKED2 &init_lock
HALF_LOCKED2 &msm_host->cmd_mutex