1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM power |
4 | |
5 | #if !defined(_TRACE_POWER_CPU_MIGRATE_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define _TRACE_POWER_CPU_MIGRATE_H |
7 | |
8 | #include <linux/tracepoint.h> |
9 | |
10 | #define __cpu_migrate_proto \ |
11 | TP_PROTO(u64 timestamp, \ |
12 | u32 cpu_hwid) |
13 | #define __cpu_migrate_args \ |
14 | TP_ARGS(timestamp, \ |
15 | cpu_hwid) |
16 | |
17 | DECLARE_EVENT_CLASS(cpu_migrate, |
18 | |
19 | __cpu_migrate_proto, |
20 | __cpu_migrate_args, |
21 | |
22 | TP_STRUCT__entry( |
23 | __field(u64, timestamp ) |
24 | __field(u32, cpu_hwid ) |
25 | ), |
26 | |
27 | TP_fast_assign( |
28 | __entry->timestamp = timestamp; |
29 | __entry->cpu_hwid = cpu_hwid; |
30 | ), |
31 | |
32 | TP_printk("timestamp=%llu cpu_hwid=0x%08lX" , |
33 | (unsigned long long)__entry->timestamp, |
34 | (unsigned long)__entry->cpu_hwid |
35 | ) |
36 | ); |
37 | |
38 | #define __define_cpu_migrate_event(name) \ |
39 | DEFINE_EVENT(cpu_migrate, cpu_migrate_##name, \ |
40 | __cpu_migrate_proto, \ |
41 | __cpu_migrate_args \ |
42 | ) |
43 | |
44 | __define_cpu_migrate_event(begin); |
45 | __define_cpu_migrate_event(finish); |
46 | __define_cpu_migrate_event(current); |
47 | |
48 | #undef __define_cpu_migrate |
49 | #undef __cpu_migrate_proto |
50 | #undef __cpu_migrate_args |
51 | |
52 | /* This file can get included multiple times, TRACE_HEADER_MULTI_READ at top */ |
53 | #ifndef _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING |
54 | #define _PWR_CPU_MIGRATE_EVENT_AVOID_DOUBLE_DEFINING |
55 | |
56 | /* |
57 | * Set from_phys_cpu and to_phys_cpu to CPU_MIGRATE_ALL_CPUS to indicate |
58 | * a whole-cluster migration: |
59 | */ |
60 | #define CPU_MIGRATE_ALL_CPUS 0x80000000U |
61 | #endif |
62 | |
63 | #endif /* _TRACE_POWER_CPU_MIGRATE_H */ |
64 | |
65 | /* This part must be outside protection */ |
66 | #undef TRACE_INCLUDE_FILE |
67 | #define TRACE_INCLUDE_FILE power_cpu_migrate |
68 | #include <trace/define_trace.h> |
69 | |