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  * The full GNU General Public License is included in this distribution in the
15  * file called LICENSE.
16  *
17  * Contact Information:
18  *  Intel Linux Wireless <linuxwifi@intel.com>
19  * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
20  *
21  *****************************************************************************/
22 
23 #if !defined(__IWLWIFI_DEVICE_TRACE_UCODE) || defined(TRACE_HEADER_MULTI_READ)
24 #define __IWLWIFI_DEVICE_TRACE_UCODE
25 
26 #include <linux/tracepoint.h>
27 
28 #undef TRACE_SYSTEM
29 #define TRACE_SYSTEM iwlwifi_ucode
30 
31 TRACE_EVENT(iwlwifi_dev_ucode_cont_event,
32 	TP_PROTO(const struct device *dev, u32 time, u32 data, u32 ev),
33 	TP_ARGS(dev, time, data, ev),
34 	TP_STRUCT__entry(
35 		DEV_ENTRY
36 
37 		__field(u32, time)
38 		__field(u32, data)
39 		__field(u32, ev)
40 	),
41 	TP_fast_assign(
42 		DEV_ASSIGN;
43 		__entry->time = time;
44 		__entry->data = data;
45 		__entry->ev = ev;
46 	),
47 	TP_printk("[%s] EVT_LOGT:%010u:0x%08x:%04u",
48 		  __get_str(dev), __entry->time, __entry->data, __entry->ev)
49 );
50 
51 TRACE_EVENT(iwlwifi_dev_ucode_wrap_event,
52 	TP_PROTO(const struct device *dev, u32 wraps, u32 n_entry, u32 p_entry),
53 	TP_ARGS(dev, wraps, n_entry, p_entry),
54 	TP_STRUCT__entry(
55 		DEV_ENTRY
56 
57 		__field(u32, wraps)
58 		__field(u32, n_entry)
59 		__field(u32, p_entry)
60 	),
61 	TP_fast_assign(
62 		DEV_ASSIGN;
63 		__entry->wraps = wraps;
64 		__entry->n_entry = n_entry;
65 		__entry->p_entry = p_entry;
66 	),
67 	TP_printk("[%s] wraps=#%02d n=0x%X p=0x%X",
68 		  __get_str(dev), __entry->wraps, __entry->n_entry,
69 		  __entry->p_entry)
70 );
71 #endif /* __IWLWIFI_DEVICE_TRACE_UCODE */
72 
73 #undef TRACE_INCLUDE_PATH
74 #define TRACE_INCLUDE_PATH .
75 #undef TRACE_INCLUDE_FILE
76 #define TRACE_INCLUDE_FILE iwl-devtrace-ucode
77 #include <trace/define_trace.h>
78