1 /******************************************************************************
2  *
3  * Copyright(c) 2009 - 2014 Intel Corporation. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17  *
18  * The full GNU General Public License is included in this distribution in the
19  * file called LICENSE.
20  *
21  * Contact Information:
22  *  Intel Linux Wireless <linuxwifi@intel.com>
23  * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
24  *
25  *****************************************************************************/
26 
27 #if !defined(__IWLWIFI_DEVICE_TRACE_UCODE) || defined(TRACE_HEADER_MULTI_READ)
28 #define __IWLWIFI_DEVICE_TRACE_UCODE
29 
30 #include <linux/tracepoint.h>
31 
32 #undef TRACE_SYSTEM
33 #define TRACE_SYSTEM iwlwifi_ucode
34 
35 TRACE_EVENT(iwlwifi_dev_ucode_cont_event,
36 	TP_PROTO(const struct device *dev, u32 time, u32 data, u32 ev),
37 	TP_ARGS(dev, time, data, ev),
38 	TP_STRUCT__entry(
39 		DEV_ENTRY
40 
41 		__field(u32, time)
42 		__field(u32, data)
43 		__field(u32, ev)
44 	),
45 	TP_fast_assign(
46 		DEV_ASSIGN;
47 		__entry->time = time;
48 		__entry->data = data;
49 		__entry->ev = ev;
50 	),
51 	TP_printk("[%s] EVT_LOGT:%010u:0x%08x:%04u",
52 		  __get_str(dev), __entry->time, __entry->data, __entry->ev)
53 );
54 
55 TRACE_EVENT(iwlwifi_dev_ucode_wrap_event,
56 	TP_PROTO(const struct device *dev, u32 wraps, u32 n_entry, u32 p_entry),
57 	TP_ARGS(dev, wraps, n_entry, p_entry),
58 	TP_STRUCT__entry(
59 		DEV_ENTRY
60 
61 		__field(u32, wraps)
62 		__field(u32, n_entry)
63 		__field(u32, p_entry)
64 	),
65 	TP_fast_assign(
66 		DEV_ASSIGN;
67 		__entry->wraps = wraps;
68 		__entry->n_entry = n_entry;
69 		__entry->p_entry = p_entry;
70 	),
71 	TP_printk("[%s] wraps=#%02d n=0x%X p=0x%X",
72 		  __get_str(dev), __entry->wraps, __entry->n_entry,
73 		  __entry->p_entry)
74 );
75 #endif /* __IWLWIFI_DEVICE_TRACE_UCODE */
76 
77 #undef TRACE_INCLUDE_PATH
78 #define TRACE_INCLUDE_PATH .
79 #undef TRACE_INCLUDE_FILE
80 #define TRACE_INCLUDE_FILE iwl-devtrace-ucode
81 #include <trace/define_trace.h>
82