1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support Camera Imaging tracer core.
4  *
5  * Copyright (c) 2013 Intel Corporation. All Rights Reserved.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License version
9  * 2 as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  *
17  */
18 #undef TRACE_SYSTEM
19 #define TRACE_SYSTEM atomisp
20 
21 #if !defined(ATOMISP_TRACE_EVENT_H) || defined(TRACE_HEADER_MULTI_READ)
22 #define ATOMISP_TRACE_EVENT_H
23 
24 #include <linux/tracepoint.h>
25 #include <linux/string.h>
26 TRACE_EVENT(camera_meminfo,
27 
28 	    TP_PROTO(const char *name, int uptr_size, int counter, int sys_size,
29 		     int sys_res_size, int cam_sys_use, int cam_dyc_use,
30 		     int cam_res_use),
31 
32 	    TP_ARGS(name, uptr_size, counter, sys_size, sys_res_size, cam_sys_use,
33 		    cam_dyc_use, cam_res_use),
34 
35 	    TP_STRUCT__entry(
36 		__array(char, name, 24)
37 		__field(int, uptr_size)
38 		__field(int, counter)
39 		__field(int, sys_size)
40 		__field(int, sys_res_size)
41 		__field(int, cam_res_use)
42 		__field(int, cam_dyc_use)
43 		__field(int, cam_sys_use)
44 	    ),
45 
46 	    TP_fast_assign(
47 		strscpy(__entry->name, name, 24);
48 		__entry->uptr_size = uptr_size;
49 		__entry->counter = counter;
50 		__entry->sys_size = sys_size;
51 		__entry->sys_res_size = sys_res_size;
52 		__entry->cam_res_use = cam_res_use;
53 		__entry->cam_dyc_use = cam_dyc_use;
54 		__entry->cam_sys_use = cam_sys_use;
55 	    ),
56 
57 	    TP_printk(
58 		"<%s> User ptr memory:%d pages,\tISP private memory used:%d pages:\tsysFP system size:%d,\treserved size:%d\tcamFP sysUse:%d,\tdycUse:%d,\tresUse:%d.\n",
59 		__entry->name, __entry->uptr_size, __entry->counter,
60 		__entry->sys_size, __entry->sys_res_size, __entry->cam_sys_use,
61 		__entry->cam_dyc_use, __entry->cam_res_use)
62 	   );
63 
64 TRACE_EVENT(camera_debug,
65 
66 	    TP_PROTO(const char *name, char *info, const int line),
67 
68 	    TP_ARGS(name, info, line),
69 
70 	    TP_STRUCT__entry(
71 		__array(char, name, 24)
72 		__array(char, info, 24)
73 		__field(int, line)
74 	    ),
75 
76 	    TP_fast_assign(
77 		strscpy(__entry->name, name, 24);
78 		strscpy(__entry->info, info, 24);
79 		__entry->line = line;
80 	    ),
81 
82 	    TP_printk("<%s>-<%d> %s\n", __entry->name, __entry->line,
83 		      __entry->info)
84 	   );
85 
86 TRACE_EVENT(ipu_cstate,
87 
88 	    TP_PROTO(int cstate),
89 
90 	    TP_ARGS(cstate),
91 
92 	    TP_STRUCT__entry(
93 		__field(int, cstate)
94 	    ),
95 
96 	    TP_fast_assign(
97 		__entry->cstate = cstate;
98 	    ),
99 
100 	    TP_printk("cstate=%d", __entry->cstate)
101 	   );
102 
103 TRACE_EVENT(ipu_pstate,
104 
105 	    TP_PROTO(int freq, int util),
106 
107 	    TP_ARGS(freq, util),
108 
109 	    TP_STRUCT__entry(
110 		__field(int, freq)
111 		__field(int, util)
112 	    ),
113 
114 	    TP_fast_assign(
115 		__entry->freq = freq;
116 		__entry->util = util;
117 	    ),
118 
119 	    TP_printk("freq=%d util=%d", __entry->freq, __entry->util)
120 	   );
121 #endif
122 
123 #undef TRACE_INCLUDE_PATH
124 #undef TRACE_INCLUDE_FILE
125 #define TRACE_INCLUDE_PATH .
126 #define TRACE_INCLUDE_FILE   atomisp_trace_event
127 /* This part must be outside protection */
128 #include <trace/define_trace.h>
129