forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/gpu/arm/bifrost/debug/backend/mali_kbase_debug_linux_ktrace_csf.h
....@@ -1,7 +1,7 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
22 /*
33 *
4
- * (C) COPYRIGHT 2020-2021 ARM Limited. All rights reserved.
4
+ * (C) COPYRIGHT 2020-2022 ARM Limited. All rights reserved.
55 *
66 * This program is free software and is provided to you under the terms of the
77 * GNU General Public License version 2 as published by the Free Software
....@@ -30,34 +30,48 @@
3030 /*
3131 * Generic CSF events - using the common DEFINE_MALI_ADD_EVENT
3232 */
33
-DEFINE_MALI_ADD_EVENT(EVICT_CTX_SLOTS);
34
-DEFINE_MALI_ADD_EVENT(FIRMWARE_BOOT);
35
-DEFINE_MALI_ADD_EVENT(FIRMWARE_REBOOT);
36
-DEFINE_MALI_ADD_EVENT(SCHEDULER_TOCK);
33
+DEFINE_MALI_ADD_EVENT(SCHEDULER_EVICT_CTX_SLOTS_START);
34
+DEFINE_MALI_ADD_EVENT(SCHEDULER_EVICT_CTX_SLOTS_END);
35
+DEFINE_MALI_ADD_EVENT(CSF_FIRMWARE_BOOT);
36
+DEFINE_MALI_ADD_EVENT(CSF_FIRMWARE_REBOOT);
37
+DEFINE_MALI_ADD_EVENT(SCHEDULER_TOCK_INVOKE);
38
+DEFINE_MALI_ADD_EVENT(SCHEDULER_TICK_INVOKE);
39
+DEFINE_MALI_ADD_EVENT(SCHEDULER_TOCK_START);
3740 DEFINE_MALI_ADD_EVENT(SCHEDULER_TOCK_END);
38
-DEFINE_MALI_ADD_EVENT(SCHEDULER_TICK);
41
+DEFINE_MALI_ADD_EVENT(SCHEDULER_TICK_START);
3942 DEFINE_MALI_ADD_EVENT(SCHEDULER_TICK_END);
40
-DEFINE_MALI_ADD_EVENT(SCHEDULER_RESET);
41
-DEFINE_MALI_ADD_EVENT(SCHEDULER_WAIT_PROTM_QUIT);
42
-DEFINE_MALI_ADD_EVENT(SCHEDULER_WAIT_PROTM_QUIT_DONE);
43
-DEFINE_MALI_ADD_EVENT(SYNC_UPDATE_EVENT);
44
-DEFINE_MALI_ADD_EVENT(SYNC_UPDATE_EVENT_NOTIFY_GPU);
45
-DEFINE_MALI_ADD_EVENT(CSF_INTERRUPT);
43
+DEFINE_MALI_ADD_EVENT(SCHEDULER_RESET_START);
44
+DEFINE_MALI_ADD_EVENT(SCHEDULER_RESET_END);
45
+DEFINE_MALI_ADD_EVENT(SCHEDULER_PROTM_WAIT_QUIT_START);
46
+DEFINE_MALI_ADD_EVENT(SCHEDULER_PROTM_WAIT_QUIT_END);
47
+DEFINE_MALI_ADD_EVENT(SCHEDULER_GROUP_SYNC_UPDATE_EVENT);
48
+DEFINE_MALI_ADD_EVENT(CSF_SYNC_UPDATE_NOTIFY_GPU_EVENT);
49
+DEFINE_MALI_ADD_EVENT(CSF_INTERRUPT_START);
4650 DEFINE_MALI_ADD_EVENT(CSF_INTERRUPT_END);
47
-DEFINE_MALI_ADD_EVENT(CSG_INTERRUPT_PROCESS);
48
-DEFINE_MALI_ADD_EVENT(GLB_REQ_ACQ);
49
-DEFINE_MALI_ADD_EVENT(SCHEDULER_CAN_IDLE);
50
-DEFINE_MALI_ADD_EVENT(SCHEDULER_ADVANCE_TICK);
51
-DEFINE_MALI_ADD_EVENT(SCHEDULER_NOADVANCE_TICK);
52
-DEFINE_MALI_ADD_EVENT(SCHEDULER_INSERT_RUNNABLE);
53
-DEFINE_MALI_ADD_EVENT(SCHEDULER_REMOVE_RUNNABLE);
54
-DEFINE_MALI_ADD_EVENT(SCHEDULER_ROTATE_RUNNABLE);
55
-DEFINE_MALI_ADD_EVENT(SCHEDULER_HEAD_RUNNABLE);
56
-DEFINE_MALI_ADD_EVENT(IDLE_WORKER_BEGIN);
57
-DEFINE_MALI_ADD_EVENT(IDLE_WORKER_END);
58
-DEFINE_MALI_ADD_EVENT(GROUP_SYNC_UPDATE_WORKER_BEGIN);
59
-DEFINE_MALI_ADD_EVENT(GROUP_SYNC_UPDATE_WORKER_END);
60
-DEFINE_MALI_ADD_EVENT(SLOTS_STATUS_UPDATE_ACK);
51
+DEFINE_MALI_ADD_EVENT(CSF_INTERRUPT_GLB_REQ_ACK);
52
+DEFINE_MALI_ADD_EVENT(SCHEDULER_GPU_IDLE_EVENT_CAN_SUSPEND);
53
+DEFINE_MALI_ADD_EVENT(SCHEDULER_TICK_ADVANCE);
54
+DEFINE_MALI_ADD_EVENT(SCHEDULER_TICK_NOADVANCE);
55
+DEFINE_MALI_ADD_EVENT(SCHEDULER_RUNNABLE_KCTX_INSERT);
56
+DEFINE_MALI_ADD_EVENT(SCHEDULER_RUNNABLE_KCTX_REMOVE);
57
+DEFINE_MALI_ADD_EVENT(SCHEDULER_RUNNABLE_KCTX_ROTATE);
58
+DEFINE_MALI_ADD_EVENT(SCHEDULER_RUNNABLE_KCTX_HEAD);
59
+DEFINE_MALI_ADD_EVENT(SCHEDULER_GPU_IDLE_WORKER_START);
60
+DEFINE_MALI_ADD_EVENT(SCHEDULER_GPU_IDLE_WORKER_END);
61
+DEFINE_MALI_ADD_EVENT(SCHEDULER_GROUP_SYNC_UPDATE_WORKER_START);
62
+DEFINE_MALI_ADD_EVENT(SCHEDULER_GROUP_SYNC_UPDATE_WORKER_END);
63
+DEFINE_MALI_ADD_EVENT(SCHEDULER_UPDATE_IDLE_SLOTS_ACK);
64
+DEFINE_MALI_ADD_EVENT(SCHEDULER_GPU_IDLE_WORKER_HANDLING_START);
65
+DEFINE_MALI_ADD_EVENT(SCHEDULER_GPU_IDLE_WORKER_HANDLING_END);
66
+DEFINE_MALI_ADD_EVENT(CSF_FIRMWARE_MCU_HALTED);
67
+DEFINE_MALI_ADD_EVENT(CSF_FIRMWARE_MCU_SLEEP);
68
+DEFINE_MALI_ADD_EVENT(SCHED_BUSY);
69
+DEFINE_MALI_ADD_EVENT(SCHED_INACTIVE);
70
+DEFINE_MALI_ADD_EVENT(SCHED_SUSPENDED);
71
+DEFINE_MALI_ADD_EVENT(SCHED_SLEEPING);
72
+#define KBASEP_MCU_STATE(n) DEFINE_MALI_ADD_EVENT(PM_MCU_ ## n);
73
+#include "backend/gpu/mali_kbase_pm_mcu_states.h"
74
+#undef KBASEP_MCU_STATE
6175
6276 DECLARE_EVENT_CLASS(mali_csf_grp_q_template,
6377 TP_PROTO(struct kbase_device *kbdev, struct kbase_queue_group *group,
....@@ -127,38 +141,50 @@
127141 __entry->kctx_tgid, __entry->kctx_id, __entry->group_handle, \
128142 __entry->csg_nr, __entry->slot_prio, __entry->info_val))
129143
130
-DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_START);
131
-DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_STOP);
132
-DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_STARTED);
144
+DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_START_REQ);
145
+DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_STOP_REQ);
146
+DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_RUNNING);
133147 DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_STOPPED);
134148 DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_CLEANED);
135
-DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_STATUS_UPDATE);
149
+DEFINE_MALI_CSF_GRP_EVENT(CSG_UPDATE_IDLE_SLOT_REQ);
136150 DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_IDLE_SET);
151
+DEFINE_MALI_CSF_GRP_EVENT(CSG_INTERRUPT_NO_NON_IDLE_GROUPS);
152
+DEFINE_MALI_CSF_GRP_EVENT(CSG_INTERRUPT_NON_IDLE_GROUPS);
137153 DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_IDLE_CLEAR);
138
-DEFINE_MALI_CSF_GRP_EVENT(CSG_PRIO_UPDATE);
139
-DEFINE_MALI_CSF_GRP_EVENT(CSG_SYNC_UPDATE_INTERRUPT);
140
-DEFINE_MALI_CSF_GRP_EVENT(CSG_IDLE_INTERRUPT);
141
-DEFINE_MALI_CSF_GRP_EVENT(CSG_PROGRESS_TIMER_INTERRUPT);
154
+DEFINE_MALI_CSF_GRP_EVENT(CSG_SLOT_PRIO_UPDATE);
155
+DEFINE_MALI_CSF_GRP_EVENT(CSG_INTERRUPT_SYNC_UPDATE);
156
+DEFINE_MALI_CSF_GRP_EVENT(CSG_INTERRUPT_IDLE);
157
+DEFINE_MALI_CSF_GRP_EVENT(CSG_INTERRUPT_PROGRESS_TIMER_EVENT);
158
+DEFINE_MALI_CSF_GRP_EVENT(CSG_INTERRUPT_PROCESS_START);
142159 DEFINE_MALI_CSF_GRP_EVENT(CSG_INTERRUPT_PROCESS_END);
143160 DEFINE_MALI_CSF_GRP_EVENT(GROUP_SYNC_UPDATE_DONE);
144161 DEFINE_MALI_CSF_GRP_EVENT(GROUP_DESCHEDULE);
145162 DEFINE_MALI_CSF_GRP_EVENT(GROUP_SCHEDULE);
146
-DEFINE_MALI_CSF_GRP_EVENT(GROUP_EVICT_SCHED);
147
-DEFINE_MALI_CSF_GRP_EVENT(GROUP_INSERT_RUNNABLE);
148
-DEFINE_MALI_CSF_GRP_EVENT(GROUP_REMOVE_RUNNABLE);
149
-DEFINE_MALI_CSF_GRP_EVENT(GROUP_ROTATE_RUNNABLE);
150
-DEFINE_MALI_CSF_GRP_EVENT(GROUP_HEAD_RUNNABLE);
151
-DEFINE_MALI_CSF_GRP_EVENT(GROUP_INSERT_IDLE_WAIT);
152
-DEFINE_MALI_CSF_GRP_EVENT(GROUP_REMOVE_IDLE_WAIT);
153
-DEFINE_MALI_CSF_GRP_EVENT(GROUP_HEAD_IDLE_WAIT);
154
-DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_CHECK_PROTM_ENTER);
155
-DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_ENTER_PROTM);
156
-DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_EXIT_PROTM);
163
+DEFINE_MALI_CSF_GRP_EVENT(GROUP_EVICT);
164
+DEFINE_MALI_CSF_GRP_EVENT(GROUP_RUNNABLE_INSERT);
165
+DEFINE_MALI_CSF_GRP_EVENT(GROUP_RUNNABLE_REMOVE);
166
+DEFINE_MALI_CSF_GRP_EVENT(GROUP_RUNNABLE_ROTATE);
167
+DEFINE_MALI_CSF_GRP_EVENT(GROUP_RUNNABLE_HEAD);
168
+DEFINE_MALI_CSF_GRP_EVENT(GROUP_IDLE_WAIT_INSERT);
169
+DEFINE_MALI_CSF_GRP_EVENT(GROUP_IDLE_WAIT_REMOVE);
170
+DEFINE_MALI_CSF_GRP_EVENT(GROUP_IDLE_WAIT_HEAD);
171
+DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_PROTM_ENTER_CHECK);
172
+DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_PROTM_ENTER);
173
+DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_PROTM_EXIT);
157174 DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_TOP_GRP);
158
-DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_NONIDLE_OFFSLOT_INC);
159
-DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_NONIDLE_OFFSLOT_DEC);
160
-DEFINE_MALI_CSF_GRP_EVENT(PROTM_EVENT_WORKER_BEGIN);
175
+DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_NONIDLE_OFFSLOT_GRP_INC);
176
+DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_NONIDLE_OFFSLOT_GRP_DEC);
177
+DEFINE_MALI_CSF_GRP_EVENT(SCHEDULER_HANDLE_IDLE_SLOTS);
178
+DEFINE_MALI_CSF_GRP_EVENT(PROTM_EVENT_WORKER_START);
161179 DEFINE_MALI_CSF_GRP_EVENT(PROTM_EVENT_WORKER_END);
180
+DEFINE_MALI_CSF_GRP_EVENT(CSF_GROUP_INACTIVE);
181
+DEFINE_MALI_CSF_GRP_EVENT(CSF_GROUP_RUNNABLE);
182
+DEFINE_MALI_CSF_GRP_EVENT(CSF_GROUP_IDLE);
183
+DEFINE_MALI_CSF_GRP_EVENT(CSF_GROUP_SUSPENDED);
184
+DEFINE_MALI_CSF_GRP_EVENT(CSF_GROUP_SUSPENDED_ON_IDLE);
185
+DEFINE_MALI_CSF_GRP_EVENT(CSF_GROUP_SUSPENDED_ON_WAIT_SYNC);
186
+DEFINE_MALI_CSF_GRP_EVENT(CSF_GROUP_FAULT_EVICTED);
187
+DEFINE_MALI_CSF_GRP_EVENT(CSF_GROUP_TERMINATED);
162188
163189 #undef DEFINE_MALI_CSF_GRP_EVENT
164190
....@@ -173,22 +199,22 @@
173199
174200 DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_START);
175201 DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_STOP);
176
-DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_STOP_REQUESTED);
177
-DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_IGNORED_INTERRUPTS_GROUP_SUSPEND);
178
-DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_FAULT_INTERRUPT);
179
-DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_TILER_OOM_INTERRUPT);
180
-DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_PROTM_PEND_INTERRUPT);
202
+DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_STOP_REQ);
203
+DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_INTERRUPT_GROUP_SUSPENDS_IGNORED);
204
+DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_INTERRUPT_FAULT);
205
+DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_INTERRUPT_TILER_OOM);
206
+DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_INTERRUPT_PROTM_PEND);
181207 DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_PROTM_ACK);
182208 DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_START);
183209 DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_STOP);
184
-DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_UPDATE);
185
-DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_UPDATE_EVALUATED);
186
-DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_STATUS_WAIT);
187
-DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_CURRENT_VAL);
188
-DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_TEST_VAL);
189
-DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_BLOCKED_REASON);
190
-DEFINE_MALI_CSF_GRP_Q_EVENT(PROTM_PENDING_SET);
191
-DEFINE_MALI_CSF_GRP_Q_EVENT(PROTM_PENDING_CLEAR);
210
+DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_UPDATE_EVAL_START);
211
+DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_UPDATE_EVAL_END);
212
+DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_UPDATE_WAIT_STATUS);
213
+DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_UPDATE_CUR_VAL);
214
+DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_UPDATE_TEST_VAL);
215
+DEFINE_MALI_CSF_GRP_Q_EVENT(QUEUE_SYNC_UPDATE_BLOCKED_REASON);
216
+DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_PROTM_PEND_SET);
217
+DEFINE_MALI_CSF_GRP_Q_EVENT(CSI_PROTM_PEND_CLEAR);
192218
193219 #undef DEFINE_MALI_CSF_GRP_Q_EVENT
194220
....@@ -227,14 +253,14 @@
227253 u64 info_val1, u64 info_val2), \
228254 TP_ARGS(queue, info_val1, info_val2))
229255
230
-DEFINE_MALI_CSF_KCPU_EVENT(KCPU_QUEUE_NEW);
231
-DEFINE_MALI_CSF_KCPU_EVENT(KCPU_QUEUE_DESTROY);
232
-DEFINE_MALI_CSF_KCPU_EVENT(CQS_SET);
233
-DEFINE_MALI_CSF_KCPU_EVENT(CQS_WAIT_START);
234
-DEFINE_MALI_CSF_KCPU_EVENT(CQS_WAIT_END);
235
-DEFINE_MALI_CSF_KCPU_EVENT(FENCE_SIGNAL);
236
-DEFINE_MALI_CSF_KCPU_EVENT(FENCE_WAIT_START);
237
-DEFINE_MALI_CSF_KCPU_EVENT(FENCE_WAIT_END);
256
+DEFINE_MALI_CSF_KCPU_EVENT(KCPU_QUEUE_CREATE);
257
+DEFINE_MALI_CSF_KCPU_EVENT(KCPU_QUEUE_DELETE);
258
+DEFINE_MALI_CSF_KCPU_EVENT(KCPU_CQS_SET);
259
+DEFINE_MALI_CSF_KCPU_EVENT(KCPU_CQS_WAIT_START);
260
+DEFINE_MALI_CSF_KCPU_EVENT(KCPU_CQS_WAIT_END);
261
+DEFINE_MALI_CSF_KCPU_EVENT(KCPU_FENCE_SIGNAL);
262
+DEFINE_MALI_CSF_KCPU_EVENT(KCPU_FENCE_WAIT_START);
263
+DEFINE_MALI_CSF_KCPU_EVENT(KCPU_FENCE_WAIT_END);
238264
239265 #undef DEFINE_MALI_CSF_KCPU_EVENT
240266