3 * (C) COPYRIGHT 2011-2015 ARM Limited. All rights reserved.
5 * This program is free software and is provided to you under the terms of the
6 * GNU General Public License version 2 as published by the Free Software
7 * Foundation, and any use by you of this program is subject to the terms
10 * A copy of the licence is included with the program, and can also be obtained
11 * from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
12 * Boston, MA 02110-1301, USA.
20 #if !defined(_TRACE_MALI_H) || defined(TRACE_HEADER_MULTI_READ)
23 #include <linux/stringify.h>
24 #include <linux/tracepoint.h>
27 #define TRACE_SYSTEM mali
28 #define TRACE_SYSTEM_STRING __stringify(TRACE_SYSTEM)
29 #define TRACE_INCLUDE_FILE mali_linux_trace
31 #define MALI_JOB_SLOTS_EVENT_CHANGED
34 * mali_job_slots_event - called from mali_kbase_core_linux.c
35 * @event_id: ORed together bitfields representing a type of event, made with the GATOR_MAKE_EVENT() macro.
37 TRACE_EVENT(mali_job_slots_event,
38 TP_PROTO(unsigned int event_id, unsigned int tgid, unsigned int pid,
39 unsigned char job_id),
40 TP_ARGS(event_id, tgid, pid, job_id),
42 __field(unsigned int, event_id)
43 __field(unsigned int, tgid)
44 __field(unsigned int, pid)
45 __field(unsigned char, job_id)
48 __entry->event_id = event_id;
51 __entry->job_id = job_id;
53 TP_printk("event=%u tgid=%u pid=%u job_id=%u",
54 __entry->event_id, __entry->tgid, __entry->pid, __entry->job_id)
58 * mali_pm_status - Called by mali_kbase_pm_driver.c
59 * @event_id: core type (shader, tiler, l2 cache)
60 * @value: 64bits bitmask reporting either power status of the cores (1-ON, 0-OFF)
62 TRACE_EVENT(mali_pm_status,
63 TP_PROTO(unsigned int event_id, unsigned long long value),
64 TP_ARGS(event_id, value),
66 __field(unsigned int, event_id)
67 __field(unsigned long long, value)
70 __entry->event_id = event_id;
71 __entry->value = value;
73 TP_printk("event %u = %llu", __entry->event_id, __entry->value)
77 * mali_pm_power_on - Called by mali_kbase_pm_driver.c
78 * @event_id: core type (shader, tiler, l2 cache)
79 * @value: 64bits bitmask reporting the cores to power up
81 TRACE_EVENT(mali_pm_power_on,
82 TP_PROTO(unsigned int event_id, unsigned long long value),
83 TP_ARGS(event_id, value),
85 __field(unsigned int, event_id)
86 __field(unsigned long long, value)
89 __entry->event_id = event_id;
90 __entry->value = value;
92 TP_printk("event %u = %llu", __entry->event_id, __entry->value)
96 * mali_pm_power_off - Called by mali_kbase_pm_driver.c
97 * @event_id: core type (shader, tiler, l2 cache)
98 * @value: 64bits bitmask reporting the cores to power down
100 TRACE_EVENT(mali_pm_power_off,
101 TP_PROTO(unsigned int event_id, unsigned long long value),
102 TP_ARGS(event_id, value),
104 __field(unsigned int, event_id)
105 __field(unsigned long long, value)
108 __entry->event_id = event_id;
109 __entry->value = value;
111 TP_printk("event %u = %llu", __entry->event_id, __entry->value)
115 * mali_page_fault_insert_pages - Called by page_fault_worker()
116 * it reports an MMU page fault resulting in new pages being mapped.
117 * @event_id: MMU address space number.
118 * @value: number of newly allocated pages
120 TRACE_EVENT(mali_page_fault_insert_pages,
121 TP_PROTO(int event_id, unsigned long value),
122 TP_ARGS(event_id, value),
124 __field(int, event_id)
125 __field(unsigned long, value)
128 __entry->event_id = event_id;
129 __entry->value = value;
131 TP_printk("event %d = %lu", __entry->event_id, __entry->value)
135 * mali_mmu_as_in_use - Called by assign_and_activate_kctx_addr_space()
136 * it reports that a certain MMU address space is in use now.
137 * @event_id: MMU address space number.
139 TRACE_EVENT(mali_mmu_as_in_use,
140 TP_PROTO(int event_id),
143 __field(int, event_id)
146 __entry->event_id = event_id;
148 TP_printk("event=%d", __entry->event_id)
152 * mali_mmu_as_released - Called by kbasep_js_runpool_release_ctx_internal()
153 * it reports that a certain MMU address space has been released now.
154 * @event_id: MMU address space number.
156 TRACE_EVENT(mali_mmu_as_released,
157 TP_PROTO(int event_id),
160 __field(int, event_id)
163 __entry->event_id = event_id;
165 TP_printk("event=%d", __entry->event_id)
169 * mali_total_alloc_pages_change - Called by kbase_atomic_add_pages()
170 * and by kbase_atomic_sub_pages()
171 * it reports that the total number of allocated pages is changed.
172 * @event_id: number of pages to be added or subtracted (according to the sign).
174 TRACE_EVENT(mali_total_alloc_pages_change,
175 TP_PROTO(long long int event_id),
178 __field(long long int, event_id)
181 __entry->event_id = event_id;
183 TP_printk("event=%lld", __entry->event_id)
187 * mali_sw_counter - not currently used
188 * @event_id: counter id
190 TRACE_EVENT(mali_sw_counter,
191 TP_PROTO(unsigned int event_id, signed long long value),
192 TP_ARGS(event_id, value),
194 __field(int, event_id)
195 __field(long long, value)
198 __entry->event_id = event_id;
199 __entry->value = value;
201 TP_printk("event %d = %lld", __entry->event_id, __entry->value)
204 #endif /* _TRACE_MALI_H */
206 #undef TRACE_INCLUDE_PATH
208 #define TRACE_INCLUDE_PATH .
210 /* This part must be outside protection */
211 #include <trace/define_trace.h>