Documented in 1 files:

Defined in 1 files as a function:

Referenced in 9 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_process.c signal_eviction_fence() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 global &kfd_processes_mutex
HALF_LOCKED2 global &kfd_processes_srcu

drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c drm_syncobj_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
LOCK2 rcu_read

drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c i915_active_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
LOCK2 rcu_read

drivers/gpu/drm/i915/i915_vma.c i915_active_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pxp->tee_mutex
HALF_LOCKED2 &vgpu->vgpu_lock
HALF_LOCKED2 __flags
HALF_LOCKED2 ctx->obj->base.resv
HALF_LOCKED2 obj->base.resv
HALF_LOCKED2 vma->obj->base.resv

drivers/gpu/drm/i915/i915_vma.c i915_vma_wait_for_bind() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
PARAM_VALUE 0 *fencep 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &vm->mutex
HALF_LOCKED2 obj->base.resv

drivers/dma-buf/dma-fence-chain.c dma_fence_chain_get_prev() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock

drivers/dma-buf/st-dma-fence.c thread_signal_callback() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
LOCK2 rcu_read

drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c amdgpu_fence_emit() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
PARAM_VALUE 0 *fencep 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &dqm->lock_hidden

drivers/gpu/drm/i915/gt/intel_gt_requests.c i915_active_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tl->mutex
LOCK2 rcu_read
TYPE_LOCK (struct intel_timeline)->mutex

drivers/gpu/drm/i915/i915_active.c i915_active_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/gpu/drm/v3d/v3d_sched.c drm_syncobj_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
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/xe/xe_sync.c drm_syncobj_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &vm->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c amdgpu_evf_mgr_get_fence() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
LOCK2 rcu_read
HALF_LOCKED2 &uq_mgr->userq_mutex

drivers/gpu/drm/i915/gt/intel_timeline.c i915_active_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 &tl->mutex
LOCK2 rcu_read
TYPE_LOCK (struct intel_timeline)->mutex
TYPE_LOCK (struct seq_file)->lock

drivers/gpu/drm/i915/gt/intel_lrc.c i915_active_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
LOCK2 rcu_read

drivers/gpu/drm/drm_syncobj.c drm_syncobj_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &syncobj->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c amdgpu_evf_mgr_get_fence() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &uq_mgr->userq_mutex

drivers/gpu/drm/i915/i915_request.c i915_active_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
LOCK2 rcu_read

drivers/accel/amdxdna/aie2_ctx.c drm_syncobj_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &hwctx->priv->job_sem
HALF_LOCKED2 &xdna->client_lock
HALF_LOCKED2 &xdna->dev_lock

drivers/gpu/drm/i915/gt/intel_reset.c i915_active_fence_get() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &gt->reset.mutex
LOCK2 &timelines->lock
LOCK2 rcu_read
TYPE_LOCK (struct intel_gt_timelines)->lock
TYPE_LOCK (struct intel_reset)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_device.c amdgpu_device_get_gang() -> dma_fence_get_rcu_safe()

Type Parameter Key Value
PARAM_VALUE 0 fencep 4096-ptr_max
LOCK2 &pool->lock
LOCK2 rcu_read
HALF_LOCKED2 &adev->enforce_isolation_mutex