Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpu/drm/xe/xe_oa.c __xe_oa_read() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-2),1-s32max
BUF_SIZE 0 stream s32min-(-2),1-s32max
CAPPED_DATA 0 stream->gt->mmio.adj_limit 1
CAPPED_DATA 0 stream->oa_buffer.format->size 1
CAPPED_DATA 0 stream->oa_buffer.head 1
DATA_SOURCE 0 stream $0
HOST_DATA 0 stream->oa_buffer.tail 0,64-u32max[c]
HOST_DATA 0 stream->oa_status 0-u32max
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.bounce
LOCK2 0 &stream->stream_lock
TYPE_LOCK (struct xe_oa_stream)->stream_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_append_reports() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-2),1-s32max
BUF_SIZE 0 stream s32min-(-2),1-s32max
CAPPED_DATA 0 stream->gt->mmio.adj_limit 1
CAPPED_DATA 0 stream->oa_buffer.format->size 1
CAPPED_DATA 0 stream->oa_buffer.head 1
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->oa_status 0x0,0xffffffb8
HOST_DATA 0 stream->oa_buffer.tail 0,64-u32max[c]
HOST_DATA 0 stream->oa_status 0-u32max
LOCK2 0 &stream->stream_lock
TYPE_LOCK (struct xe_oa_stream)->stream_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_configure_oac_context() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->oa_unit 4096-ptr_max
BUF_SIZE 0 stream (-1),26
BUF_SIZE 0 stream (-1),26
BUF_SIZE 0 stream->k_exec_q (-1),528-524808
BUF_SIZE 0 stream->xef (-1),16,48,104,120,152,248,256,264,424,464,576,768,968,1120,1424,2256,4712,13184
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 stream->k_exec_q->width 1-u16max[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.page_alignment 1,16,512
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
TYPE_LOCK (struct xe_oa_gt)->gt_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_disable() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->num_syncs
NOSPEC 0 stream->oa_unit->exclusive_stream->num_syncs
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.page_alignment 1,16,512
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->no_preempt 0-1
USER_DATA 0 stream->oa_unit->exclusive_stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->period_exponent 0-31
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->entity->num_sched_list
HALF_LOCKED2 &gt->oa.gt_lock
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 0 &stream->stream_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_disable() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->oa_unit 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->num_syncs
NOSPEC 0 stream->oa_unit->exclusive_stream->num_syncs
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.page_alignment 1,16,512
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->no_preempt 0-1
USER_DATA 0 stream->oa_unit->exclusive_stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->period_exponent 0-31
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->entity->num_sched_list
HALF_LOCKED2 &gt->oa.gt_lock
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 0 &stream->stream_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_disable_metric_set() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->oa_unit 4096-ptr_max
BUF_SIZE 0 stream (-1),26,600
BUF_SIZE 0 stream (-1),26,600
BUF_SIZE 0 stream->k_exec_q (-1),528-524808
BUF_SIZE 0 stream->xef (-1),16,48,104,120,152,248,256,264,424,464,576,768,968,1120,1424,2256,4712,13184
CAPPED_DATA 0 stream 1
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 stream->k_exec_q->entity->priority 1-2[c]
USER_DATA 0 stream->k_exec_q->flags 0-u64max[c][u]
USER_DATA 0 stream->k_exec_q->multi_queue.priority 1
USER_DATA 0 stream->k_exec_q->sched_props.priority 1-2[c]
USER_DATA 0 stream->k_exec_q->sched_props.timeslice_us 0-u32max
USER_DATA 0 stream->k_exec_q->width 1[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.page_alignment 1,16,512
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->entity->num_sched_list
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->execlist->entity.num_sched_list
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->width
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
TYPE_LOCK (struct xe_oa_gt)->gt_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_enable() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
CAPPED_DATA 0 stream->gt->mmio.adj_limit 1
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->num_syncs
NOSPEC 0 stream->oa_unit->exclusive_stream->num_syncs
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.page_alignment 1,16,512
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->no_preempt 0-1
USER_DATA 0 stream->oa_unit->exclusive_stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->period_exponent 0-31
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->entity->num_sched_list
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 0 &stream->stream_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_enable_metric_set() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->oa_unit 4096-ptr_max
BUF_SIZE 0 stream 600
BUF_SIZE 0 stream->k_exec_q 528-524808
BUF_SIZE 0 stream->xef 16,48,104,120,152,248,256,264,424,464,576,768,968,1120,1424,2256,4712,13184
CAPPED_DATA 0 stream->k_exec_q->execlist 1
CAPPED_DATA 0 stream->num_syncs 1
CAPPED_DATA 0 stream->wait_num_reports 1
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->num_syncs 0x0,0x7ff
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
USER_DATA 0 stream->k_exec_q->entity->priority 1-2[c]
USER_DATA 0 stream->k_exec_q->flags 0-u64max[c][u]
USER_DATA 0 stream->k_exec_q->multi_queue.priority 1
USER_DATA 0 stream->k_exec_q->sched_props.priority 1-2[c]
USER_DATA 0 stream->k_exec_q->sched_props.timeslice_us 0-u32max
USER_DATA 0 stream->k_exec_q->width 1[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.page_alignment 1,16,512
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->entity->num_sched_list
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->execlist->entity.num_sched_list
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->width
LOCK2 &param.hwe->gt->oa.gt_lock
TYPE_LOCK (struct xe_oa_gt)->gt_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_enable_metric_set() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->oa_unit 4096-ptr_max
BUF_SIZE 0 stream 600
BUF_SIZE 0 stream->k_exec_q 528-524808
BUF_SIZE 0 stream->xef 16,48,104,120,152,248,256,264,424,464,576,768,968,1120,1424,2256,4712,13184
CAPPED_DATA 0 stream->k_exec_q->execlist 1
CAPPED_DATA 0 stream->num_syncs 1
CAPPED_DATA 0 stream->wait_num_reports 1
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->num_syncs 0x0,0x7ff
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
USER_DATA 0 stream->k_exec_q->entity->priority 1-2[c]
USER_DATA 0 stream->k_exec_q->flags 0-u64max[c][u]
USER_DATA 0 stream->k_exec_q->multi_queue.priority 1
USER_DATA 0 stream->k_exec_q->sched_props.priority 1-2[c]
USER_DATA 0 stream->k_exec_q->sched_props.timeslice_us 0-u32max
USER_DATA 0 stream->k_exec_q->width 1[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.size 1-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.vma_node.vm_node.start 0-s32max[c]
USER_DATA 0 stream->oa_buffer.bo->ttm.page_alignment 1,16,512
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->entity->num_sched_list
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->execlist->entity.num_sched_list
NO_OVERFLOW_SIMPLE 0 stream->k_exec_q->width
LOCK2 &param.hwe->gt->oa.gt_lock
TYPE_LOCK (struct xe_oa_gt)->gt_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_hw_tail_read() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
NOSPEC 0 stream->oa_unit->exclusive_stream->num_syncs
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 stream->oa_buffer.tail 0,64-u32max[c]
HOST_DATA 0 stream->oa_status 0-u32max
USER_DATA 0 stream->k_exec_q->width 1-u16max[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->no_preempt 0-1
USER_DATA 0 stream->oa_unit->exclusive_stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->period_exponent 0-31
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 0 &stream->stream_lock
TYPE_LOCK (struct xe_oa_buffer)->ptr_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_init_oa_buffer() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
NOSPEC 0 stream->oa_unit->exclusive_stream->num_syncs
PREEMPT_ADD <- disables preempt
USER_DATA 0 stream->k_exec_q->width 1-u16max[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->no_preempt 0-1
USER_DATA 0 stream->oa_unit->exclusive_stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->period_exponent 0-31
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 0 &stream->stream_lock
TYPE_LOCK (struct xe_oa_buffer)->ptr_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_init_oa_buffer() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
NOSPEC 0 stream->oa_unit->exclusive_stream->num_syncs
PREEMPT_ADD <- disables preempt
USER_DATA 0 stream->k_exec_q->width 1-u16max[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->no_preempt 0-1
USER_DATA 0 stream->oa_unit->exclusive_stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->period_exponent 0-31
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 0 &stream->stream_lock
TYPE_LOCK (struct xe_oa_buffer)->ptr_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_init_oa_buffer() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
NOSPEC 0 stream->oa_unit->exclusive_stream->num_syncs
PREEMPT_ADD <- disables preempt
USER_DATA 0 stream->k_exec_q->width 1-u16max[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->no_preempt 0-1
USER_DATA 0 stream->oa_unit->exclusive_stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->period_exponent 0-31
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 0 &stream->stream_lock
TYPE_LOCK (struct xe_oa_buffer)->ptr_lock

drivers/gpu/drm/xe/xe_oa.c xe_oa_init_oa_buffer() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
DATA_SOURCE 0 stream $0
NOSPEC 0 stream->k_exec_q->width
NOSPEC 0 stream->num_syncs
NOSPEC 0 stream->oa_unit->exclusive_stream->num_syncs
PREEMPT_ADD <- disables preempt
USER_DATA 0 stream->k_exec_q->width 1-u16max[c]
USER_DATA 0 stream->no_preempt 0-1
USER_DATA 0 stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_buffer.bo->flags 0-u32max[u]
USER_DATA 0 stream->oa_buffer.bo->ttm.base.size 0-u64max[c]
USER_DATA 0 stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->no_preempt 0-1
USER_DATA 0 stream->oa_unit->exclusive_stream->num_syncs 0-1024[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->oa_buffer.circ_size 130433-134217728
USER_DATA 0 stream->oa_unit->exclusive_stream->period_exponent 0-31
USER_DATA 0 stream->oa_unit->exclusive_stream->periodic 1[c]
USER_DATA 0 stream->oa_unit->exclusive_stream->sample 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->periodic 1[c]
USER_DATA 0 stream->sample 0-1
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 &param.hwe->gt->oa.gt_lock
HALF_LOCKED2 0 &stream->stream_lock
TYPE_LOCK (struct xe_oa_buffer)->ptr_lock

drivers/gpu/drm/i915/i915_perf.c gen12_enable_metric_set() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->engine 4096-ptr_max
PARAM_VALUE 0 stream->engine->oa_group 4096-ptr_max
BUF_SIZE 0 stream->ctx (-1)-0,920
BUF_SIZE 0 stream->ops 48
CAPPED_DATA 0 stream->engine 1
DATA_SOURCE 0 stream $0
USER_DATA 0 stream->engine->gt->perf.sseu.slice_mask 0-255
USER_DATA 0 stream->engine->gt->perf.sseu.subslice_mask 0-255
USER_DATA 0 stream->hold_preemption 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->poll_oa_period 100000-u64max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
LOCK2 &gt->perf.lock
HALF_LOCKED2 __flags
TYPE_LOCK (struct i915_perf_gt)->lock

drivers/gpu/drm/i915/i915_perf.c gen12_enable_metric_set() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->engine 4096-ptr_max
PARAM_VALUE 0 stream->engine->oa_group 4096-ptr_max
BUF_SIZE 0 stream->ctx (-1)-0,920
BUF_SIZE 0 stream->ops 48
CAPPED_DATA 0 stream->engine 1
DATA_SOURCE 0 stream $0
USER_DATA 0 stream->engine->gt->perf.sseu.slice_mask 0-255
USER_DATA 0 stream->engine->gt->perf.sseu.subslice_mask 0-255
USER_DATA 0 stream->hold_preemption 0-1
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->poll_oa_period 100000-u64max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
LOCK2 &gt->perf.lock
HALF_LOCKED2 __flags
TYPE_LOCK (struct i915_perf_gt)->lock

drivers/gpu/drm/i915/i915_perf.c gen12_init_oa_buffer() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream->ctx (-1)-0,920
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->sample_flags 0x1,0xffffffff
PREEMPT_ADD <- disables preempt
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
USER_DATA 0 stream->engine->gt->perf.sseu.slice_mask 0
USER_DATA 0 stream->engine->gt->perf.sseu.subslice_mask 0
USER_DATA 0 stream->hold_preemption 0
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->poll_oa_period 100000-u64max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 0 &stream->lock
TYPE_LOCK (struct i915_perf_stream)->oa_buffer.ptr_lock

drivers/gpu/drm/i915/i915_perf.c gen12_init_oa_buffer() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->engine 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream->ctx (-1)-0,920
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->sample_flags 0x1,0xffffffffffffffff
PREEMPT_ADD <- disables preempt
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
USER_DATA 0 stream->engine->gt->perf.sseu.slice_mask 0
USER_DATA 0 stream->engine->gt->perf.sseu.subslice_mask 0
USER_DATA 0 stream->hold_preemption 0
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->poll_oa_period 100000-u64max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 0 &stream->lock
TYPE_LOCK (struct i915_perf_stream)->oa_buffer.ptr_lock

drivers/gpu/drm/i915/i915_perf.c gen12_init_oa_buffer() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->engine 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream->ctx (-1)-0,920
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->sample_flags 0x1,0xffffffffffffffff
PREEMPT_ADD <- disables preempt
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
USER_DATA 0 stream->engine->gt->perf.sseu.slice_mask 0
USER_DATA 0 stream->engine->gt->perf.sseu.subslice_mask 0
USER_DATA 0 stream->hold_preemption 0
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->poll_oa_period 100000-u64max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 0 &stream->lock
TYPE_LOCK (struct i915_perf_stream)->oa_buffer.ptr_lock

drivers/gpu/drm/i915/i915_perf.c gen12_init_oa_buffer() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->engine 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream->ctx (-1)-0,920
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->sample_flags 0x1,0xffffffffffffffff
PREEMPT_ADD <- disables preempt
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
USER_DATA 0 stream->engine->gt->perf.sseu.slice_mask 0
USER_DATA 0 stream->engine->gt->perf.sseu.subslice_mask 0
USER_DATA 0 stream->hold_preemption 0
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->poll_oa_period 100000-u64max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
HALF_LOCKED2 0 &stream->lock
TYPE_LOCK (struct i915_perf_stream)->oa_buffer.ptr_lock

drivers/gpu/drm/i915/i915_perf.c gen12_oa_disable() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream->perf (-1),584
DATA_SOURCE 0 stream $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 stream->engine->gt->uncore->fifo_count 0-127,u32max
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
HALF_LOCKED2 0 &stream->lock

drivers/gpu/drm/i915/i915_perf.c gen12_oa_disable() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->engine 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream->perf (-1),584
DATA_SOURCE 0 stream $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 stream->engine->gt->uncore->fifo_count 0-127,u32max
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
HALF_LOCKED2 0 &stream->lock

drivers/gpu/drm/i915/i915_perf.c gen12_oa_enable() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
PARAM_VALUE 0 stream->engine 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream->ctx (-1)-0,920
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->sample_flags 0x1,0xffffffffffffffff
MEM_ZERO 0 stream->oa_buffer.vaddr
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
USER_DATA 0 stream->engine->gt->perf.sseu.slice_mask 0
USER_DATA 0 stream->engine->gt->perf.sseu.subslice_mask 0
USER_DATA 0 stream->hold_preemption 0
USER_DATA 0 stream->period_exponent 0-31
USER_DATA 0 stream->poll_oa_period 100000-u64max
NO_OVERFLOW_SIMPLE 0 stream->engine->gt->perf.sseu.min_eus_per_subslice
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->fence_size
NO_OVERFLOW_SIMPLE 0 stream->noa_wait->size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->fence_size
NO_OVERFLOW_SIMPLE 0 stream->oa_buffer.vma->size
HALF_LOCKED2 0 &stream->lock

drivers/gpu/drm/i915/i915_perf.c gen12_oa_hw_tail_read() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-1),1-s32max
BUF_SIZE 0 stream s32min-(-1),1-s32max
DATA_SOURCE 0 stream $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
LOCK2 flags
LOCK2 0 &stream->oa_buffer.ptr_lock
TYPE_LOCK (struct i915_perf_stream)->oa_buffer.ptr_lock

drivers/gpu/drm/i915/i915_perf.c gen8_append_oa_reports() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-2),1-s32max
BUF_SIZE 0 stream s32min-(-2),1-s32max
CAPPED_DATA 0 stream->oa_buffer.format->size 1
CAPPED_DATA 0 stream->oa_buffer.last_ctx_id 1
CAPPED_DATA 0 stream->sample_size 1
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->sample_flags 0x1,0xffffffffffffffff
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
LOCK2 0 &stream->lock
TYPE_LOCK (struct i915_perf_stream)->lock

drivers/gpu/drm/i915/i915_perf.c gen8_oa_read() -> __oa_regs()

Type Parameter Key Value
PARAM_VALUE 0 stream 4096-ptr_max
BUF_SIZE 0 stream s32min-(-2),1-s32max
BUF_SIZE 0 stream s32min-(-2),1-s32max
DATA_SOURCE 0 stream $0
BIT_INFO 0 stream->sample_flags 0x1,0xffffffffffffffff
HOST_DATA 0 stream->oa_buffer.tail 0-16777215
HOST_DATA 0 stream->uncore->fifo_count 0-127,u32max
LOCK2 0 &stream->lock
TYPE_LOCK (struct i915_perf_stream)->lock