Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 7 files:
- drivers/dma-buf/dma-fence-chain.c, line 288
- drivers/dma-buf/st-dma-fence-chain.c, line 70
- drivers/dma-buf/st-dma-fence-unwrap.c, line 95
- drivers/gpu/drm/drm_gem_atomic_helper.c, line 161
- drivers/gpu/drm/drm_syncobj.c, line 350
- drivers/gpu/drm/i915/display/intel_plane.c, line 1421
- drivers/gpu/drm/xe/xe_sched_job.c, line 284
Smatch caller information:
drivers/gpu/drm/i915/display/intel_plane.c add_dma_resv_fences() -> dma_fence_chain_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 4096-ptr_max |
| PARAM_VALUE | 2 | fence | 1-u64max |
| PARAM_VALUE | 2 | fence->error | s32min-s32max |
| PARAM_VALUE | 2 | fence->refcount.refcount.refs.counter | s32min-s32max |
| PARAM_VALUE | 3 | seqno | 1 |
| BUF_SIZE | 0 | chain | 184 |
| DATA_SOURCE | 0 | chain | r _kmalloc_noprof |
| DATA_SOURCE | 1 | prev | r dma_fence_get |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/dma-buf/st-dma-fence-unwrap.c mock_chain() -> dma_fence_chain_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->enable_signaling | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->get_driver_name | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->get_timeline_name | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->release | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->set_deadline | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->signaled | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->wait | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->enable_signaling | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->get_driver_name | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->get_timeline_name | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->release | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->set_deadline | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->signaled | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->wait | 0,4096-ptr_max |
| PARAM_VALUE | 3 | seqno | 1 |
| BUF_SIZE | 0 | chain | 184 |
| BUF_SIZE | 1 | prev | (-1),128 |
| BUF_SIZE | 1 | prev | (-1),128 |
| BUF_SIZE | 2 | fence | (-1),128 |
| BUF_SIZE | 2 | fence | (-1),128 |
| DATA_SOURCE | 0 | chain | r _kmalloc_noprof |
| DATA_SOURCE | 1 | prev | $0 |
| DATA_SOURCE | 2 | fence | $1 |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 2 | fence->num_fences | |
| NO_OVERFLOW_SIMPLE | 2 | fence->num_pending.counter |
drivers/dma-buf/st-dma-fence-chain.c mock_chain() -> dma_fence_chain_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence | 4096-ptr_max |
| PARAM_VALUE | 3 | seqno | 1-8192 |
| BUF_SIZE | 0 | chain | 184 |
| BUF_SIZE | 2 | fence | (-1),128 |
| CAPPED_DATA | 3 | seqno | 1 |
| CAPPED_DATA | 3 | seqno | 1 |
| DATA_SOURCE | 0 | chain | r _kmalloc_noprof |
| DATA_SOURCE | 3 | seqno | $2 |
| NOCHECK_CALL |
drivers/gpu/drm/drm_gem_atomic_helper.c drm_gem_plane_helper_prepare_fb() -> dma_fence_chain_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain | 4096-ptr_max |
| PARAM_VALUE | 1 | prev | 1-u64max |
| PARAM_VALUE | 1 | prev->ops->enable_signaling | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->get_driver_name | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->get_timeline_name | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->release | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->set_deadline | 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424 |
| PARAM_VALUE | 1 | prev->ops->signaled | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->wait | 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936 |
| PARAM_VALUE | 2 | fence | 1-u64max |
| PARAM_VALUE | 2 | fence->error | s32min-s32max |
| PARAM_VALUE | 2 | fence->refcount.refcount.refs.counter | s32min-s32max |
| PARAM_VALUE | 3 | seqno | 1 |
| BUF_SIZE | 0 | chain | 184 |
| BUF_SIZE | 1 | prev | (-1),128 |
| BUF_SIZE | 1 | prev | (-1),128 |
| DATA_SOURCE | 0 | chain | r _kmalloc_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | rbo->tbo.base.resv |
drivers/gpu/drm/xe/xe_sched_job.c xe_sched_job_arm() -> dma_fence_chain_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | prev->ops->enable_signaling | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->get_driver_name | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->get_timeline_name | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->release | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->set_deadline | 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424 |
| PARAM_VALUE | 1 | prev->ops->signaled | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->ops->wait | 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936 |
| PARAM_VALUE | 2 | fence | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->cb_list.next | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->cb_list.next->next | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->cb_list.prev | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->cb_list.prev->next | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->cb_list.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->error | 0 |
| PARAM_VALUE | 2 | fence->extern_lock | 1-u64max |
| PARAM_VALUE | 2 | fence->flags | 1,3,5,7 |
| PARAM_VALUE | 2 | fence->ops | 455851879733379072 |
| PARAM_VALUE | 2 | fence->ops->enable_signaling | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->get_driver_name | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->get_timeline_name | 4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->release | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->set_deadline | 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424 |
| PARAM_VALUE | 2 | fence->ops->signaled | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->wait | 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936 |
| PARAM_VALUE | 2 | fence->refcount.refcount.refs.counter | 1 |
| PARAM_VALUE | 2 | fence->seqno | 0-u32max |
| BUF_SIZE | 1 | prev | (-1),128 |
| BUF_SIZE | 1 | prev | (-1),128 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &m->job_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &vm->lock | ||
| HALF_LOCKED2 | _T->lock |
drivers/gpu/drm/drm_syncobj.c drm_syncobj_add_point() -> dma_fence_chain_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | chain->base.ops->set_deadline | 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424 |
| PARAM_VALUE | 0 | chain->base.ops->wait | 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936 |
| PARAM_VALUE | 1 | prev | 0,4096-ptr_max |
| PARAM_VALUE | 1 | prev->refcount.refcount.refs.counter | (-1073741824),0-s32max |
| PARAM_VALUE | 2 | fence | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->enable_signaling | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->get_driver_name | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->get_timeline_name | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->release | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->set_deadline | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->signaled | 0,4096-ptr_max |
| PARAM_VALUE | 2 | fence->ops->wait | 0,4096-ptr_max |
| BUF_SIZE | 0 | chain | (-1),184 |
| BUF_SIZE | 0 | chain | (-1),184 |
| BUF_SIZE | 2 | fence | (-1)-0,32-s32max |
| BUF_SIZE | 2 | fence | (-1)-0,32-s32max |
| DATA_SOURCE | 0 | chain | $1 |
| DATA_SOURCE | 1 | prev | r drm_syncobj_fence_get |
| DATA_SOURCE | 2 | fence | $2 |
| DATA_SOURCE | 3 | seqno | $3 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 3 | seqno | 0-u64max |
| NO_OVERFLOW_SIMPLE | 2 | fence->num_fences | |
| NO_OVERFLOW_SIMPLE | 2 | fence->num_pending.counter | |
| UNITS | 3 | seqno | unit_array_size |
| LOCK2 | &syncobj->lock | ||
| HALF_LOCKED2 | &client->hwctx_srcu | ||
| HALF_LOCKED2 | &hwctx->priv->io_lock | ||
| HALF_LOCKED2 | &hwctx->priv->job_sem | ||
| HALF_LOCKED2 | &p->adev->notifier_lock | ||
| HALF_LOCKED2 | &queue->lock | ||
| HALF_LOCKED2 | &sched->mutex | ||
| HALF_LOCKED2 | &xdna->notifier_lock | ||
| HALF_LOCKED2 | global &drm_unplug_srcu | ||
| TYPE_LOCK | (struct drm_syncobj)->lock |