blob: 0db137881bfb7884d5580a0aaf7c92daab22e08b [file] [log] [blame]
Abhijeet Dharmapurikar07cf2ff2012-09-13 19:05:13 -07001/* Copyright (c) 2012, Free Software Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12#undef TRACE_SYSTEM
13#define TRACE_SYSTEM mpdcvs_trace
14
15#if !defined(_TRACE_MPDCVS_H) || defined(TRACE_HEADER_MULTI_READ)
16#define _TRACE_MPDCVS_H
17
18#include <linux/tracepoint.h>
19
20DECLARE_EVENT_CLASS(msm_mp,
21
22 TP_PROTO(const char *name, int mp_val),
23
24 TP_ARGS(name, mp_val),
25
26 TP_STRUCT__entry(
27 __string(name, name)
28 __field(int, mp_val)
29 ),
30
31 TP_fast_assign(
32 __assign_str(name, name);
33 __entry->mp_val = mp_val;
34 ),
35
36 TP_printk("ev_name=%s ev_level=%d",
37 __get_str(name),
38 __entry->mp_val)
39);
40
41/* Core function of run_q */
42
43DEFINE_EVENT(msm_mp, msm_mp_runq,
44
45 TP_PROTO(const char *name, int mp_val),
46
47 TP_ARGS(name, mp_val)
48);
49
50DEFINE_EVENT(msm_mp, msm_mp_cpusonline,
51
52 TP_PROTO(const char *name, int mp_val),
53
54 TP_ARGS(name, mp_val)
55);
56
57DEFINE_EVENT(msm_mp, msm_mp_slacktime,
58
59 TP_PROTO(const char *name, int mp_val),
60
61 TP_ARGS(name, mp_val)
62);
63
64DECLARE_EVENT_CLASS(msm_dcvs,
65
66 TP_PROTO(const char *name, const char *cpuid, int val),
67
68 TP_ARGS(name, cpuid, val),
69
70 TP_STRUCT__entry(
71 __string(name, name)
72 __string(cpuid, cpuid)
73 __field(int, val)
74 ),
75
76 TP_fast_assign(
77 __assign_str(name, name);
78 __assign_str(cpuid, cpuid);
79 __entry->val = val;
80 ),
81
82 TP_printk("ev_name=%s d_name=%s ev_level=%d",
83 __get_str(name),
84 __get_str(cpuid),
85 __entry->val)
86);
87
88/* Core function of dcvs */
89
90DEFINE_EVENT(msm_dcvs, msm_dcvs_idle,
91
92 TP_PROTO(const char *name, const char *cpuid, int val),
93
94 TP_ARGS(name, cpuid, val)
95);
96
97DEFINE_EVENT(msm_dcvs, msm_dcvs_iowait,
98
99 TP_PROTO(const char *name, const char *cpuid, int val),
100
101 TP_ARGS(name, cpuid, val)
102);
103
104DEFINE_EVENT(msm_dcvs, msm_dcvs_slack_time,
105
106 TP_PROTO(const char *name, const char *cpuid, int val),
107
108 TP_ARGS(name, cpuid, val)
109);
110
111DECLARE_EVENT_CLASS(msm_dcvs_scm,
112
113 TP_PROTO(unsigned long cpuid, int ev_type, unsigned long param0,
114 unsigned long param1, unsigned long ret0, unsigned long ret1),
115
116 TP_ARGS(cpuid, ev_type, param0, param1, ret0, ret1),
117
118 TP_STRUCT__entry(
119 __field(unsigned long, cpuid)
120 __field(int, ev_type)
121 __field(unsigned long, param0)
122 __field(unsigned long, param1)
123 __field(unsigned long, ret0)
124 __field(unsigned long, ret1)
125 ),
126
127 TP_fast_assign(
128 __entry->cpuid = cpuid;
129 __entry->ev_type = ev_type;
130 __entry->param0 = param0;
131 __entry->param1 = param1;
132 __entry->ret0 = ret0;
133 __entry->ret1 = ret1;
134 ),
135
136 TP_printk("dev=%lu ev_type=%d ev_param0=%lu ev_param1=%lu ev_ret0=%lu ev_ret1=%lu",
137 __entry->cpuid,
138 __entry->ev_type,
139 __entry->param0,
140 __entry->param1,
141 __entry->ret0,
142 __entry->ret1)
143);
144
145DEFINE_EVENT(msm_dcvs_scm, msm_dcvs_scm_event,
146
147 TP_PROTO(unsigned long cpuid, int ev_type, unsigned long param0,
148 unsigned long param1, unsigned long ret0, unsigned long ret1),
149
150 TP_ARGS(cpuid, ev_type, param0, param1, ret0, ret1)
151);
152
153#endif /* _TRACE_MPDCVS_H */
154
155/* This part must be outside protection */
156#include <trace/define_trace.h>