Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/gpu/drm/xe/xe_guc_submit.c guc_exec_queue_destroy() -> guc_exec_queue_add_msg()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->gt 4096-ptr_max
PARAM_VALUE 0 q->guc 4096-ptr_max
PARAM_VALUE 0 q->last_fence 0
PARAM_VALUE 0 q->ops 4096-ptr_max
PARAM_VALUE 0 q->pxp.type 0-1
PARAM_VALUE 0 q->ufence_syncobj 0,4096-ptr_max
PARAM_VALUE 0 q->user_vm 0
PARAM_VALUE 2 opcode 1
BUF_SIZE 1 msg 128
BUF_SIZE 1 msg 128
DATA_SOURCE 0 q $0
BIT_INFO 0 q->flags 0x0,0xfffffffffffffffd
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &tlb_inval->seqno_lock
HALF_LOCKED2 &vm->exec_queues.lock
HALF_LOCKED2 &xef->exec_queue.lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/xe/xe_guc_submit.c guc_exec_queue_replay_pending_state_change() -> guc_exec_queue_add_msg()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->guc 4096-ptr_max
PARAM_VALUE 0 q->guc->multi_queue.needs_cgp_sync 0
PARAM_VALUE 0 q->guc->needs_cleanup 1
PARAM_VALUE 0 q->guc->sched.base.pause_submit 1
PARAM_VALUE 2 opcode 1
BUF_SIZE 1 msg 128
BUF_SIZE 1 msg 128
CAPPED_DATA 0 q->guc->id 1
DATA_SOURCE 0 q $0
NOCHECK_CALL
LOCK2 &guc->submission_state.lock
LOCK2 &pool->lock
TYPE_LOCK (struct xe_guc)->submission_state.lock

drivers/gpu/drm/xe/xe_guc_submit.c guc_exec_queue_set_multi_queue_priority() -> guc_exec_queue_add_msg()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->guc 4096-ptr_max
PARAM_VALUE 0 q->hwe->domain 1-2,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768
PARAM_VALUE 0 q->hwe->eclass->sched_props.job_timeout_max 1-10000
PARAM_VALUE 0 q->hwe->eclass->sched_props.job_timeout_min 1-10000
PARAM_VALUE 0 q->hwe->eclass->sched_props.preempt_timeout_max 1-10000000
PARAM_VALUE 0 q->hwe->eclass->sched_props.preempt_timeout_min 1-10000000
PARAM_VALUE 0 q->hwe->eclass->sched_props.timeslice_max 1-10000000
PARAM_VALUE 0 q->hwe->eclass->sched_props.timeslice_min 1-10000000
PARAM_VALUE 0 q->hwe->engine_id 0-26
PARAM_VALUE 0 q->hwe->instance 0-8
PARAM_VALUE 0 q->hwe->irq_handler 0,1079320861127557120,5448746199315255296
PARAM_VALUE 0 q->hwe->irq_offset 0-255
PARAM_VALUE 0 q->hwe->irq_page 0-8
PARAM_VALUE 0 q->hwe->mmio_base 8192,106496,114688,122880,139264,155648,1155072,1835008,1851392,1867776,1900544,1916928,1933312,1966080,1982464,1998848,2031616,2048000,2064384,4063232,4071424,4079616,4087808,4096000,4104192,4112384,4120576
PARAM_VALUE 0 q->multi_queue.priority 0-2
PARAM_VALUE 0 q->multi_queue.valid 1
PARAM_VALUE 0 q->ops 4096-ptr_max
PARAM_VALUE 0 q->ops->destroy 0,3721314711696515072,8978859748547620864
PARAM_VALUE 0 q->ops->fini 0,3719534634135031808,8104117526844420096
PARAM_VALUE 0 q->ops->init 0,3484483228825653248,7199791232145506304
PARAM_VALUE 0 q->ops->kill 0,1313205778025852928,5380356992463781888
PARAM_VALUE 0 q->ops->reset_status 0,3290436997664940032,7369246158825820160
PARAM_VALUE 0 q->ops->resume 0,6232376711407493120,8988027751928025088
PARAM_VALUE 0 q->ops->set_multi_queue_priority 0,4019949437602545664
PARAM_VALUE 0 q->ops->set_preempt_timeout 0,3210319484381401088,5022578168750714880
PARAM_VALUE 0 q->ops->set_priority 0,2617909158704955392,7203857571721912320
PARAM_VALUE 0 q->ops->set_timeslice 0,1002770835850342400,7608041072543535104
PARAM_VALUE 0 q->ops->suspend 0,2294009183036346368,6350647400090251264
PARAM_VALUE 0 q->ops->suspend_wait 0,2272605824704675840,8400187890102042624
PARAM_VALUE 0 q->vm->exec_queues.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->exec_queues.lock.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->gpuvm.ops->op_alloc 0,4178244968145121280
PARAM_VALUE 0 q->vm->gpuvm.ops->sm_step_map 0,912682263357759488,3850699923445227520,8379760394559614976,8609383518014025728
PARAM_VALUE 0 q->vm->gpuvm.ops->sm_step_remap 0,3850699923445227520,5121074557911261184,5420759306209017856,8609383518014025728
PARAM_VALUE 0 q->vm->gpuvm.ops->sm_step_unmap 0,3850699923445227520,5914183354706407424,7504656685248028672,8609383518014025728
PARAM_VALUE 0 q->vm->gpuvm.ops->vm_bo_free 0,5555473383884926976
PARAM_VALUE 0 q->vm->gpuvm.ops->vm_bo_validate 0,248747483245506560,265657736556892160,1638191084720013312,1986338527227244544
PARAM_VALUE 0 q->vm->gpuvm.ops->vm_free 0,826467068035764224,3805946052293255168,5326365468746117120,6598819279086505984
PARAM_VALUE 0 q->vm->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->lock.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->pt_ops->pde_encode_bo 1112305037473492992
PARAM_VALUE 0 q->vm->pt_ops->pte_encode_addr 5030287134347956224
PARAM_VALUE 0 q->vm->pt_ops->pte_encode_bo 1952612342773850112
PARAM_VALUE 0 q->vm->pt_ops->pte_encode_vma 6902146574108286976
PARAM_VALUE 0 q->vm->svm.gpusvm.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->svm.gpusvm.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->svm.gpusvm.notifier_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->svm.gpusvm.notifier_lock.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->svm.gpusvm.ops->invalidate 1822217023706652672
PARAM_VALUE 0 q->vm->svm.gpusvm.ops->range_alloc 2247529597885444096
PARAM_VALUE 0 q->vm->svm.gpusvm.ops->range_free 2375940009807314944
PARAM_VALUE 0 q->vm->xe->drm.mode_config.helper_private->atomic_commit_tail 0,234517204248432640,264416658693812224,1002985563129995264,1135616218159751168,1435312838172803072,1559742614509715456,1682444203744997376,2792895115794366464,3649211429048074240,4264110321136541696,4348468181405868032-s64max
PARAM_VALUE 0 q->vm->xe->ttm.dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->xe->ttm.dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->xe->ttm.pool.dev->cma_area->nranges s32min-s32max
PARAM_VALUE 0 q->xef 1-u64max
PARAM_VALUE 1 msg 4096-ptr_max
PARAM_VALUE 2 opcode 5
BUF_SIZE 0 q (-1),520-524808
BUF_SIZE 0 q (-1),520-524808
BUF_SIZE 0 q->vm (-1),2720
BUF_SIZE 1 msg 32
DATA_SOURCE 0 q $0
DATA_SOURCE 1 msg r _kmalloc_noprof
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 q->flags 0-u64max[c][u]
USER_DATA 0 q->multi_queue.priority 0-2
USER_DATA 0 q->sched_props.priority 1-2[c]
USER_DATA 0 q->sched_props.timeslice_us 0-u32max
USER_DATA 0 q->width 0-u16max[c]

drivers/gpu/drm/xe/xe_guc_submit.c guc_exec_queue_set_preempt_timeout() -> guc_exec_queue_add_msg()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->guc 4096-ptr_max
PARAM_VALUE 0 q->multi_queue.is_primary 1
PARAM_VALUE 0 q->multi_queue.valid 1
PARAM_VALUE 0 q->ops 4096-ptr_max
PARAM_VALUE 0 q->sched_props.job_timeout_ms 1-10000
PARAM_VALUE 1 msg 4096-ptr_max
PARAM_VALUE 2 opcode 2
BUF_SIZE 1 msg 32
DATA_SOURCE 0 q $0
DATA_SOURCE 1 msg r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 &stream->stream_lock

drivers/gpu/drm/xe/xe_guc_submit.c guc_exec_queue_set_priority() -> guc_exec_queue_add_msg()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->guc 4096-ptr_max
PARAM_VALUE 1 msg 4096-ptr_max
PARAM_VALUE 2 opcode 2
BUF_SIZE 1 msg 32
DATA_SOURCE 0 q $0
DATA_SOURCE 1 msg r _kmalloc_noprof
NOCHECK_CALL

drivers/gpu/drm/xe/xe_guc_submit.c guc_exec_queue_set_timeslice() -> guc_exec_queue_add_msg()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->guc 4096-ptr_max
PARAM_VALUE 0 q->multi_queue.is_primary 1
PARAM_VALUE 0 q->multi_queue.valid 1
PARAM_VALUE 0 q->ops 4096-ptr_max
PARAM_VALUE 0 q->sched_props.job_timeout_ms 1-10000
PARAM_VALUE 1 msg 4096-ptr_max
PARAM_VALUE 2 opcode 2
BUF_SIZE 1 msg 32
DATA_SOURCE 0 q $0
DATA_SOURCE 1 msg r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 &stream->stream_lock

drivers/gpu/drm/xe/xe_guc_submit.c guc_exec_queue_try_add_msg() -> guc_exec_queue_add_msg()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->guc 4096-ptr_max
PARAM_VALUE 0 q->guc->sched.msg_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 q->guc->suspend_count 0-1
PARAM_VALUE 0 q->hwe->domain 1-2,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768
PARAM_VALUE 0 q->hwe->engine_id 0-26
PARAM_VALUE 0 q->hwe->instance 0-8
PARAM_VALUE 0 q->hwe->irq_handler 0,1079320861127557120,5448746199315255296
PARAM_VALUE 0 q->hwe->irq_offset 0-255
PARAM_VALUE 0 q->hwe->irq_page 0-8
PARAM_VALUE 0 q->hwe->mmio_base 8192,106496,114688,122880,139264,155648,1155072,1835008,1851392,1867776,1900544,1916928,1933312,1966080,1982464,1998848,2031616,2048000,2064384,4063232,4071424,4079616,4087808,4096000,4104192,4112384,4120576
PARAM_VALUE 0 q->lr.pfence->ops->set_deadline 0,2004285741546172416,2071105144755478528,2853440610722889728,3558081686514302976,5221404334427111424
PARAM_VALUE 0 q->lr.pfence->ops->wait 0,3162960082638938112,3576649960670945280,4783308308267675648,5257098353859239936
PARAM_VALUE 0 q->ops->init 0,4096-ptr_max
PARAM_VALUE 0 q->vm->exec_queues.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->exec_queues.lock.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->gpuvm.ops->sm_step_map 0,912682263357759488,3850699923445227520,8379760394559614976,8609383518014025728
PARAM_VALUE 0 q->vm->gpuvm.ops->sm_step_remap 0,3850699923445227520,5121074557911261184,5420759306209017856,8609383518014025728
PARAM_VALUE 0 q->vm->gpuvm.ops->sm_step_unmap 0,3850699923445227520,5914183354706407424,7504656685248028672,8609383518014025728
PARAM_VALUE 0 q->vm->gpuvm.ops->vm_bo_free 0,5555473383884926976
PARAM_VALUE 0 q->vm->gpuvm.ops->vm_bo_validate 0,248747483245506560,265657736556892160,1638191084720013312,1986338527227244544
PARAM_VALUE 0 q->vm->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->lock.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->svm.gpusvm.mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->svm.gpusvm.mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->svm.gpusvm.notifier_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->svm.gpusvm.notifier_lock.first_waiter->type 0-1
PARAM_VALUE 0 q->vm->xe->drm.mode_config.helper_private->atomic_commit_tail 0,113,234517204248432640,264416658693812224,1002985563129995264,1135616218159751168,1435312838172803072,1559742614509715456,1682444203744997376,2792895115794366464,3649211429048074240,4264110321136541696,4348468181405868032-s64max
PARAM_VALUE 0 q->vm->xe->ttm.dev_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 q->vm->xe->ttm.dev_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 *q->name 0-255
PARAM_VALUE 1 msg 4096-ptr_max
PARAM_VALUE 1 msg->link.next 4096-ptr_max
PARAM_VALUE 2 opcode 259-260
BUF_SIZE 0 q (-1),520-524800
BUF_SIZE 0 q (-1),520-524800
BUF_SIZE 1 msg 64,96
BUF_SIZE 1 msg 64,96
CAPPED_DATA 1 &msg->link 1
DATA_SOURCE 0 q $0
DATA_SOURCE 1 msg $1
PARAM_COMPARE 1 &msg->link == $1->link.next
BIT_INFO 2 opcode 0x100,0x107
HARD_MAX 0 q->guc->suspend_count 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 q->lr.pfence->seqno 0-u32max
USER_DATA 0 q->width 0-u16max[c]
NO_OVERFLOW_SIMPLE 0 q->entity->num_sched_list
LOCK2 &sched->msg_lock
HALF_LOCKED2 &q->multi_queue.group->suspend_lock
HALF_LOCKED2 0 &q->multi_queue.group->suspend_lock
TYPE_LOCK (struct xe_gpu_scheduler)->msg_lock

drivers/gpu/drm/xe/xe_guc_submit.c guc_exec_queue_try_add_msg_head() -> guc_exec_queue_add_msg()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->guc 4096-ptr_max
PARAM_VALUE 0 q->guc->sched.base.pause_submit 1
PARAM_VALUE 0 q->guc->sched.msg_lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 msg 4096-ptr_max
PARAM_VALUE 1 msg->link.next 4096-ptr_max
PARAM_VALUE 2 opcode 771-772,774
BUF_SIZE 1 msg 32,64,96
BUF_SIZE 1 msg 32,64,96
CAPPED_DATA 0 q->guc->id 1
CAPPED_DATA 1 &msg->link 1
DATA_SOURCE 0 q $0
DATA_SOURCE 1 msg $1
PARAM_COMPARE 1 &msg->link == $1->link.next
BIT_INFO 2 opcode 0x300,0x307
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &guc->submission_state.lock
LOCK2 &pool->lock
LOCK2 &sched->msg_lock
TYPE_LOCK (struct xe_gpu_scheduler)->msg_lock
TYPE_LOCK (struct xe_guc)->submission_state.lock