Defined in 1 files as a function:

Referenced in 8 files:

Smatch caller information:

drivers/gpu/drm/i915/gt/intel_ggtt.c ggtt_cleanup_hw() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 1 ww 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ggtt->vm.mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct i915_address_space)->mutex

drivers/gpu/drm/i915/gt/intel_ggtt.c i915_ggtt_suspend_vm() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 1 ww 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &vm->mutex
HALF_LOCKED2 &display->drm->mode_config.fb_lock
TYPE_LOCK (struct i915_address_space)->mutex

drivers/gpu/drm/i915/gt/intel_migrate.c create_init_lmem_internal() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 1 ww 0
NOCHECK_CALL

drivers/gpu/drm/i915/i915_vma.c i915_vma_parked() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 1 ww 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &wf->mutex
TYPE_LOCK (struct intel_wakeref)->mutex

drivers/gpu/drm/i915/gem/i915_gem_shrinker.c i915_gem_shrink() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->base.dev->anon_inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 obj->base.dev->anon_inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 obj->base.refcount.refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 obj->mm.link.next 4096-ptr_max
PARAM_VALUE 0 obj->ops 4096-ptr_max
PARAM_VALUE 0 obj->ops->adjust_lru 0,4096-ptr_max
PARAM_VALUE 0 obj->ops->flags 2-u32max
PARAM_VALUE 0 obj->ops->shrink 0,4096-ptr_max
PARAM_VALUE 0 *obj->mm.tlb 0-4294967295
PARAM_VALUE 1 ww 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &attr->mutex

drivers/gpu/drm/i915/gem/i915_gem_shrinker.c i915_gem_shrinker_vmap() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 1 ww 0
LOCK2 &gt->ggtt->vm.mutex
TYPE_LOCK (struct i915_address_space)->mutex

drivers/gpu/drm/i915/gt/intel_engine_cs.c mock_timeline_pin() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 1 ww 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ce->pin_mutex
TYPE_LOCK (struct intel_context)->pin_mutex

drivers/gpu/drm/i915/gem/i915_gem_stolen.c __i915_gem_object_create_stolen() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 0 obj 4096-ptr_max
PARAM_VALUE 0 obj->base._resv.fences 0
PARAM_VALUE 0 obj->base._resv.lock.base.dep_map->name 0-255
PARAM_VALUE 0 obj->base._resv.lock.base.first_waiter 0
PARAM_VALUE 0 obj->base._resv.lock.base.magic 4096-ptr_max
PARAM_VALUE 0 obj->base._resv.lock.base.owner.counter 0
PARAM_VALUE 0 obj->base._resv.lock.ctx 0
PARAM_VALUE 0 obj->base._resv.lock.ww_class 8825623990767841280
PARAM_VALUE 0 obj->base._resv.lock.ww_class->is_wait_die 0-s32max
PARAM_VALUE 0 obj->base.filp 0
PARAM_VALUE 0 obj->base.funcs 8073635319949537280
PARAM_VALUE 0 obj->base.gpuva.lock.dep_map->name 0-255
PARAM_VALUE 0 obj->base.gpuva.lock.first_waiter 0
PARAM_VALUE 0 obj->base.gpuva.lock.magic 4096-ptr_max
PARAM_VALUE 0 obj->base.gpuva.lock.osq.tail.counter 0
PARAM_VALUE 0 obj->base.gpuva.lock.owner.counter 0
PARAM_VALUE 0 obj->base.handle_count 0
PARAM_VALUE 0 obj->base.lru_node.next 4096-ptr_max
PARAM_VALUE 0 obj->base.lru_node.next->next 4096-ptr_max
PARAM_VALUE 0 obj->base.lru_node.prev 4096-ptr_max
PARAM_VALUE 0 obj->base.lru_node.prev->next 4096-ptr_max
PARAM_VALUE 0 obj->base.lru_node.prev->prev 4096-ptr_max
PARAM_VALUE 0 obj->base.refcount.refcount.refs.counter 1
PARAM_VALUE 0 obj->base.resv 1-u64max
PARAM_VALUE 0 obj->base.resv->fences 0
PARAM_VALUE 0 obj->base.resv->lock.base.first_waiter 0
PARAM_VALUE 0 obj->base.resv->lock.base.magic 4096-ptr_max
PARAM_VALUE 0 obj->base.resv->lock.base.osq.tail.counter 0
PARAM_VALUE 0 obj->base.resv->lock.base.owner.counter 0
PARAM_VALUE 0 obj->base.resv->lock.ctx 0
PARAM_VALUE 0 obj->base.resv->lock.ww_class 8825623990767841280
PARAM_VALUE 0 obj->base.vma_node.driver_private 0
PARAM_VALUE 0 obj->base.vma_node.vm_lock.magic 3736018669
PARAM_VALUE 0 obj->base.vma_node.vm_lock.owner (-1)
PARAM_VALUE 0 obj->base.vma_node.vm_lock.owner_cpu u32max
PARAM_VALUE 0 obj->base.vma_node.vm_node.color 0
PARAM_VALUE 0 obj->base.vma_node.vm_node.flags 0
PARAM_VALUE 0 obj->base.vma_node.vm_node.hole_size 0
PARAM_VALUE 0 obj->base.vma_node.vm_node.mm 0
PARAM_VALUE 0 obj->base.vma_node.vm_node.rb.rb_left 0
PARAM_VALUE 0 obj->base.vma_node.vm_node.rb.rb_right 0
PARAM_VALUE 0 obj->base.vma_node.vm_node.size 0
PARAM_VALUE 0 obj->base.vma_node.vm_node.stack 0
PARAM_VALUE 0 obj->base.vma_node.vm_node.start 0
PARAM_VALUE 0 obj->bo_offset 4096-18446744073709547520
PARAM_VALUE 0 obj->cache_coherent 0-1,3
PARAM_VALUE 0 obj->client_link.next 4096-ptr_max
PARAM_VALUE 0 obj->client_link.next->next 4096-ptr_max
PARAM_VALUE 0 obj->client_link.prev 4096-ptr_max
PARAM_VALUE 0 obj->client_link.prev->next 4096-ptr_max
PARAM_VALUE 0 obj->client_link.prev->prev 4096-ptr_max
PARAM_VALUE 0 obj->encode 4096-18446744073709547520
PARAM_VALUE 0 obj->flags 1
PARAM_VALUE 0 obj->gvt_info 4096-ptr_max
PARAM_VALUE 0 obj->lut_list.next 4096-ptr_max
PARAM_VALUE 0 obj->lut_list.next->next 4096-ptr_max
PARAM_VALUE 0 obj->lut_list.prev 4096-ptr_max
PARAM_VALUE 0 obj->lut_list.prev->next 4096-ptr_max
PARAM_VALUE 0 obj->lut_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 obj->mm.get_dma_page.lock.dep_map->name 0-255
PARAM_VALUE 0 obj->mm.get_dma_page.lock.first_waiter 0
PARAM_VALUE 0 obj->mm.get_dma_page.lock.magic 4096-ptr_max
PARAM_VALUE 0 obj->mm.get_dma_page.lock.owner.counter 0
PARAM_VALUE 0 obj->mm.get_dma_page.radix.xa_flags 11456
PARAM_VALUE 0 obj->mm.get_dma_page.radix.xa_head 0
PARAM_VALUE 0 obj->mm.get_page.lock.dep_map->name 0-255
PARAM_VALUE 0 obj->mm.get_page.lock.first_waiter 0
PARAM_VALUE 0 obj->mm.get_page.lock.magic 4096-ptr_max
PARAM_VALUE 0 obj->mm.get_page.lock.osq.tail.counter 0
PARAM_VALUE 0 obj->mm.get_page.lock.owner.counter 0
PARAM_VALUE 0 obj->mm.get_page.radix.xa_flags 11456
PARAM_VALUE 0 obj->mm.get_page.radix.xa_head 0
PARAM_VALUE 0 obj->mm.link.next 4096-ptr_max
PARAM_VALUE 0 obj->mm.link.next->next 4096-ptr_max
PARAM_VALUE 0 obj->mm.link.prev 4096-ptr_max
PARAM_VALUE 0 obj->mm.link.prev->next 4096-ptr_max
PARAM_VALUE 0 obj->mm.link.prev->prev 4096-ptr_max
PARAM_VALUE 0 obj->mm.madv 0
PARAM_VALUE 0 obj->ops 8204853293343596544
PARAM_VALUE 0 obj->ops->adjust_lru 0,4429992584214396928
PARAM_VALUE 0 obj->ops->delayed_free 0,5926832556445249536
PARAM_VALUE 0 obj->ops->dmabuf_export 0,2825331963569180672
PARAM_VALUE 0 obj->ops->flags 0,2,6,8,26
PARAM_VALUE 0 obj->ops->get_pages 4096-ptr_max
PARAM_VALUE 0 obj->ops->migrate 0,1598800189128794112
PARAM_VALUE 0 obj->ops->mmap_offset 0,446096312805322752
PARAM_VALUE 0 obj->ops->mmap_ops 0,4661964159669587968
PARAM_VALUE 0 obj->ops->name 4096-ptr_max
PARAM_VALUE 0 obj->ops->pread 0,7401744485809000448,8891031690581864448
PARAM_VALUE 0 obj->ops->put_pages 4096-ptr_max
PARAM_VALUE 0 obj->ops->pwrite 0,2096045760474890240,2800713264639791104
PARAM_VALUE 0 obj->ops->release 0,3174634900601434112,4896540049717575680,7664132821884952576,8446337041868943360,8964248445451067392
PARAM_VALUE 0 obj->ops->shrink 0,6389040613935005696,6985639316486627328
PARAM_VALUE 0 obj->ops->truncate 0,75591691694981120,2837679352212496384
PARAM_VALUE 0 obj->ops->unmap_virtual 0,5981797077985529856
PARAM_VALUE 0 obj->pat_index 0-3
PARAM_VALUE 0 obj->read_domains 65
PARAM_VALUE 0 obj->scratch 4096-18446744073709547520
PARAM_VALUE 0 obj->stolen 4096-ptr_max
PARAM_VALUE 0 obj->stolen->hole_size 0-1
PARAM_VALUE 0 obj->stolen->hole_stack.next 4096-ptr_max
PARAM_VALUE 0 obj->stolen->hole_stack.prev 4096-ptr_max
PARAM_VALUE 0 obj->stolen->mm 4096-ptr_max
PARAM_VALUE 0 obj->stolen->rb.rb_left 0,4096-ptr_max
PARAM_VALUE 0 obj->stolen->rb.rb_right 0,4096-ptr_max
PARAM_VALUE 0 obj->stolen->rb_hole_addr.rb_left 0,4096-ptr_max
PARAM_VALUE 0 obj->stolen->rb_hole_addr.rb_right 0,4096-ptr_max
PARAM_VALUE 0 obj->stolen->rb_hole_size.__rb_parent_color 1
PARAM_VALUE 0 obj->stolen->rb_hole_size.rb_left 4096-ptr_max
PARAM_VALUE 0 obj->stolen->rb_hole_size.rb_right 4096-ptr_max
PARAM_VALUE 0 obj->stolen->subtree_max_hole 1
PARAM_VALUE 0 obj->vma.list.next 4096-ptr_max
PARAM_VALUE 0 obj->vma.list.next->next 4096-ptr_max
PARAM_VALUE 0 obj->vma.list.prev 4096-ptr_max
PARAM_VALUE 0 obj->vma.list.prev->next 4096-ptr_max
PARAM_VALUE 0 obj->vma.list.prev->prev 4096-ptr_max
PARAM_VALUE 1 ww 0
BUF_SIZE 0 obj->stolen 176
DATA_SOURCE 0 obj $1
MEM_ZERO 0 &obj->base.vma_node
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 obj->base.dev->num_crtcs
NO_OVERFLOW_SIMPLE 0 obj->base.size
NO_OVERFLOW_SIMPLE 0 obj->mm.n_placements
NO_OVERFLOW_SIMPLE 0 obj->stolen->size
NO_OVERFLOW_SIMPLE 0 obj->stolen->start

drivers/gpu/drm/i915/i915_gem_evict.c grab_vma() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 0 obj->base.refcount.refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 0 *obj->mm.tlb 0-4294967295
DATA_SOURCE 1 ww $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 ww->contended->base.size
HALF_LOCKED2 &ggtt->vm.mutex

drivers/gpu/drm/i915/i915_gem_evict.c i915_gem_evict_vm() -> i915_gem_object_trylock()

Type Parameter Key Value
PARAM_VALUE 0 obj->base.refcount.refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 1 ww 0,10796541522907136,3754542896867966976,5412823990542053656
DATA_SOURCE 1 ww $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ggtt->vm.gt->reset.backoff_srcu
HALF_LOCKED2 &ggtt->vm.mutex
HALF_LOCKED2 &vm->mutex
HALF_LOCKED2 obj->base.resv
HALF_LOCKED2 0 obj->base.resv
TYPE_LOCK (struct i915_address_space)->mutex