Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 17 files:

Smatch caller information:

drivers/gpu/drm/lima/lima_gem.c lima_gem_submit() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 1 fence 4096-ptr_max
PARAM_VALUE 1 fence->ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_driver_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_timeline_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->release 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 1 fence->ops->signaled 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
DATA_SOURCE 0 syncobj r drm_syncobj_find
DATA_SOURCE 1 fence r lima_sched_context_queue_task
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_post_dependencies() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 1 fence->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
CAPPED_DATA 1 fence 1
NOCHECK_CALL
LOCK2 &p->adev->notifier_lock
TYPE_LOCK (struct amdgpu_device)->notifier_lock

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c i915_gem_do_execbuffer() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 1-u64max
PARAM_VALUE 0 syncobj->fence->refcount.refcount.refs.counter (-1073741824),0-s32max
BUF_SIZE 1 fence (-1),128
NOCHECK_CALL

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c signal_fence_array() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 0,4-u64max
PARAM_VALUE 1 fence->ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_driver_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_timeline_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->release 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->signaled 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->wait 0,4096-ptr_max
BUF_SIZE 1 fence (-1),128
BUF_SIZE 1 fence (-1),128
DATA_SOURCE 1 fence $1 [m]
NOCHECK_CALL

drivers/gpu/drm/msm/msm_syncobj.c msm_syncobj_process_post_deps() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 4096-ptr_max
PARAM_VALUE 1 fence->ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_driver_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_timeline_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->release 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 1 fence->ops->signaled 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
CAPPED_DATA 1 fence 1
DATA_SOURCE 1 fence $2
NOCHECK_CALL
LOCK2 &queue->lock
TYPE_LOCK (struct msm_gpu_submitqueue)->lock

drivers/gpu/drm/msm/msm_syncobj.c msm_syncobj_reset() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 1-u64max
PARAM_VALUE 1 fence 0
NOCHECK_CALL
LOCK2 &queue->lock
TYPE_LOCK (struct msm_gpu_submitqueue)->lock

drivers/gpu/drm/panfrost/panfrost_drv.c panfrost_ioctl_submit() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 1 fence 4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 1 fence->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
DATA_SOURCE 0 syncobj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/panthor/panthor_drv.c panthor_submit_ctx_push_fences() -> drm_syncobj_replace_fence()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 global &drm_unplug_srcu

drivers/gpu/drm/nouveau/nouveau_sched.c nouveau_job_fence_attach() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 4096-ptr_max
PARAM_VALUE 1 fence->ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_driver_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_timeline_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->release 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->signaled 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->wait 0,4096-ptr_max
NOCHECK_CALL
LOCK2 &sched->mutex
HALF_LOCKED2 &file_priv->driver_priv->mutex
TYPE_LOCK (struct nouveau_sched)->mutex

drivers/gpu/drm/v3d/v3d_sched.c v3d_reset_performance_queries() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &adev->reset_domain->sem
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &guc->submission_state.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sched->job_list_lock

drivers/gpu/drm/v3d/v3d_sched.c v3d_reset_timestamp_queries() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &adev->reset_domain->sem
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &guc->submission_state.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sched->job_list_lock

drivers/gpu/drm/v3d/v3d_sched.c v3d_timestamp_query() -> drm_syncobj_replace_fence()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &adev->reset_domain->sem
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &guc->submission_state.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sched->job_list_lock

drivers/gpu/drm/tegra/submit.c tegra_drm_ioctl_channel_submit() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 1 fence 4096-ptr_max,(-12)
PARAM_VALUE 1 fence->cb_list.next 4096-ptr_max
PARAM_VALUE 1 fence->cb_list.prev 4096-ptr_max
PARAM_VALUE 1 fence->error 0
PARAM_VALUE 1 fence->extern_lock 1-u64max
PARAM_VALUE 1 fence->flags 1,3,5,7
PARAM_VALUE 1 fence->ops 1134631329600389120
PARAM_VALUE 1 fence->refcount.refcount.refs.counter 1
PARAM_VALUE 1 fence->seqno 0
BUF_SIZE 1 fence (-1),128
BUF_SIZE 1 fence (-1),128
DATA_SOURCE 0 syncobj r drm_syncobj_find
DATA_SOURCE 1 fence r host1x_fence_create
NOCHECK_CALL
USER_DATA 1 fence->seqno 0
LOCK2 &fpriv->lock
TYPE_LOCK (struct tegra_drm_file)->lock

drivers/gpu/drm/xe/xe_sync.c xe_sync_entry_signal() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 1-u64max
PARAM_VALUE 1 fence 128,4096-ptr_max
PARAM_VALUE 1 fence->ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_driver_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_timeline_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->release 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->signaled 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->wait 0,4096-ptr_max
BUF_SIZE 1 fence (-1),128
BUF_SIZE 1 fence (-1),128
CAPPED_DATA 1 fence 1
DATA_SOURCE 1 fence $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 fence->num_fences
NO_OVERFLOW_SIMPLE 1 fence->num_pending.counter
HALF_LOCKED2 &vm->lock

drivers/gpu/drm/v3d/v3d_submit.c v3d_submit_process_post_deps() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
DATA_SOURCE 0 syncobj $1
NOCHECK_CALL

drivers/gpu/drm/v3d/v3d_submit.c v3d_submit_process_post_deps() -> drm_syncobj_replace_fence()

Type Parameter Key Value
NOCHECK_CALL

drivers/gpu/drm/virtio/virtgpu_submit.c virtio_gpu_process_post_deps() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 0
PARAM_VALUE 1 fence->node.node.next 0
PARAM_VALUE 1 fence->node.node.prev 0
PARAM_VALUE 1 fence->ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_driver_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_timeline_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->release 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->signaled 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->wait 0,4096-ptr_max
BUF_SIZE 1 fence 0
NOCHECK_CALL

drivers/gpu/drm/virtio/virtgpu_submit.c virtio_gpu_reset_syncobjs() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 1-u64max
PARAM_VALUE 1 fence 0
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_assign_null_handle() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 4096-ptr_max
PARAM_VALUE 1 fence->cb_list.next 4096-ptr_max
PARAM_VALUE 1 fence->cb_list.next->next 4096-ptr_max
PARAM_VALUE 1 fence->cb_list.prev 4096-ptr_max
PARAM_VALUE 1 fence->cb_list.prev->next 4096-ptr_max
PARAM_VALUE 1 fence->cb_list.prev->prev 4096-ptr_max
PARAM_VALUE 1 fence->context 0
PARAM_VALUE 1 fence->entry.next s64max
PARAM_VALUE 1 fence->extern_lock 1-u64max
PARAM_VALUE 1 fence->ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_driver_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_timeline_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->release 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->signaled 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->wait 0,4096-ptr_max
PARAM_VALUE 1 fence->rcu.entry.next s64max
PARAM_VALUE 1 fence->rcu.flags 0-4294967295
PARAM_VALUE 1 fence->rcu.is_hard 0-1
PARAM_VALUE 1 fence->rcu.is_lazy 0-1
PARAM_VALUE 1 fence->rcu.is_queued 0-1
PARAM_VALUE 1 fence->rcu.is_soft 0-1
PARAM_VALUE 1 fence->seqno 0
BUF_SIZE 0 syncobj (-1),128
BUF_SIZE 0 syncobj (-1),128
BUF_SIZE 1 fence 128
DATA_SOURCE 0 syncobj $0
DATA_SOURCE 1 fence r dma_fence_allocate_private_stub
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_create() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 0 syncobj->cb_list.next 4096-ptr_max
PARAM_VALUE 0 syncobj->cb_list.next->next 4096-ptr_max
PARAM_VALUE 0 syncobj->cb_list.prev 4096-ptr_max
PARAM_VALUE 0 syncobj->cb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 syncobj->cb_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 syncobj->ev_fd_list.next 4096-ptr_max
PARAM_VALUE 0 syncobj->ev_fd_list.next->next 4096-ptr_max
PARAM_VALUE 0 syncobj->ev_fd_list.prev 4096-ptr_max
PARAM_VALUE 0 syncobj->ev_fd_list.prev->next 4096-ptr_max
PARAM_VALUE 0 syncobj->ev_fd_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 syncobj->refcount.refcount.refs.counter 1
PARAM_VALUE 1 fence 1-ptr_max
BUF_SIZE 0 syncobj 128
DATA_SOURCE 0 syncobj r _kzalloc_noprof
DATA_SOURCE 1 fence $2
RX_PATH
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_free() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 1 fence 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fpriv->lock
HALF_LOCKED2 &queue->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/drm_syncobj.c drm_syncobj_import_sync_file_fence() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 1 fence 4096-ptr_max
DATA_SOURCE 0 syncobj r drm_syncobj_find
DATA_SOURCE 1 fence r sync_file_get_fence
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_reset_ioctl() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 0
NOCHECK_CALL

drivers/gpu/drm/drm_syncobj.c drm_syncobj_transfer_to_binary() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 1 fence 1-u64max
PARAM_VALUE 1 fence->node.node.next 0
PARAM_VALUE 1 fence->node.node.prev 0
PARAM_VALUE 1 fence->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 1 fence->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
PARAM_VALUE 1 fence->rcu.entry.next s64max
PARAM_VALUE 1 fence->rcu.flags 0-4294967295
PARAM_VALUE 1 fence->rcu.is_hard 0-1
PARAM_VALUE 1 fence->rcu.is_lazy 0-1
PARAM_VALUE 1 fence->rcu.is_queued 0-1
PARAM_VALUE 1 fence->rcu.is_soft 0-1
DATA_SOURCE 0 syncobj r drm_syncobj_find
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_va_ioctl() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 1 fence->ops->enable_signaling 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_driver_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->get_timeline_name 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->release 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->set_deadline 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->signaled 0,4096-ptr_max
PARAM_VALUE 1 fence->ops->wait 0,4096-ptr_max
BUF_SIZE 1 fence (-1)-0,32-s32max
BUF_SIZE 1 fence (-1)-0,32-s32max
DATA_SOURCE 1 fence r amdgpu_gem_va_update_vm
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 fence->num_fences
NO_OVERFLOW_SIMPLE 1 fence->num_pending.counter
HALF_LOCKED2 gobj->resv

drivers/gpu/drm/vc4/vc4_gem.c vc4_queue_submit() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 0 syncobj 4096-ptr_max
PARAM_VALUE 1 fence 4096-ptr_max
PARAM_VALUE 1 fence->cb_list.next 4096-ptr_max
PARAM_VALUE 1 fence->cb_list.prev 4096-ptr_max
PARAM_VALUE 1 fence->error 0
PARAM_VALUE 1 fence->extern_lock 1-u64max
PARAM_VALUE 1 fence->flags 1,3,5,7
PARAM_VALUE 1 fence->ops 4531635138278424576
PARAM_VALUE 1 fence->refcount.refcount.refs.counter 1
BUF_SIZE 1 fence 128
DATA_SOURCE 0 syncobj $3
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
USER_DATA 1 fence->seqno 0-u64max
LOCK2 &vc4->job_lock
LOCK2 irqflags
TYPE_LOCK (struct vc4_dev)->job_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c amdgpu_userq_signal_ioctl() -> drm_syncobj_replace_fence()

Type Parameter Key Value
PARAM_VALUE 1 fence 4096-ptr_max
PARAM_VALUE 1 fence->extern_lock 1-u64max
NOCHECK_CALL