Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/gpu/drm/xe/xe_guc_submit.c xe_guc_exec_queue_group_stop() -> xe_exec_queue_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
CAPPED_DATA 0 &q->multi_queue.link 1
LOCK2 &group->list_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xe_exec_queue_group)->list_lock

drivers/gpu/drm/xe/xe_guc_submit.c xe_guc_submit_wedge() -> xe_exec_queue_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 q 1-u64max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &guc->submission_state.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct xe_guc)->submission_state.lock

drivers/gpu/drm/xe/xe_pxp.c pxp_invalidate_queues() -> xe_exec_queue_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
CAPPED_DATA 0 &q->pxp.link 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &pxp->queues.lock
LOCK2 irq
TYPE_LOCK (struct xe_pxp)->queues.lock

drivers/gpu/drm/xe/xe_guc_tlb_inval.c send_tlb_inval_ctx_ppgtt() -> xe_exec_queue_get_unless_zero()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
CAPPED_DATA 0 &q->vm_exec_queue_link 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &tlb_inval->seqno_lock
LOCK2 &vm->exec_queues.lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 global &drm_unplug_srcu
TYPE_LOCK (struct xe_tlb_inval)->seqno_lock
TYPE_LOCK (struct xe_vm)->exec_queues.lock