xref: /wlan-driver/qcacld-3.0/core/hdd/inc/wlan_hdd_trace.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2014-2018, 2020 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
5*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
6*5113495bSYour Name  * above copyright notice and this permission notice appear in all
7*5113495bSYour Name  * copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
17*5113495bSYour Name  */
18*5113495bSYour Name 
19*5113495bSYour Name #ifndef __WLAN_HDD_TRACE_H__
20*5113495bSYour Name #define __WLAN_HDD_TRACE_H__
21*5113495bSYour Name 
22*5113495bSYour Name #include "mac_trace.h"
23*5113495bSYour Name 
24*5113495bSYour Name #define NO_SESSION 0xFF
25*5113495bSYour Name 
26*5113495bSYour Name #undef ENUMS
27*5113495bSYour Name #define ENUMS \
28*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_OPEN_REQUEST) \
29*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_STOP_REQUEST) \
30*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_TX_TIMEOUT) \
31*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_P2P_DEV_ADDR_IOCTL) \
32*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_SETSUSPENDMODE_IOCTL) \
33*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_SETROAMTRIGGER_IOCTL) \
34*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_GETROAMTRIGGER_IOCTL) \
35*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_SETROAMSCANPERIOD_IOCTL) \
36*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_GETROAMSCANPERIOD_IOCTL) \
37*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_SETROAMDELTA_IOCTL) \
38*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_GETROAMDELTA_IOCTL) \
39*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_GETBAND_IOCTL) \
40*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_GETCOUNTRYREV_IOCTL) \
41*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_SETROAMSCANCHANNELS_IOCTL) \
42*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_GETROAMSCANCHANNELS_IOCTL) \
43*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_HOSTAPD_OPEN_REQUEST) \
44*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_HOSTAPD_STOP_REQUEST) \
45*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_HOSTAPD_UNINIT_REQUEST) \
46*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_SOFTAP_TX_TIMEOUT) \
47*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_HOSTAPD_SET_MAC_ADDR) \
48*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_HOSTAPD_P2P_SET_NOA_IOCTL) \
49*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_HOSTAPD_P2P_SET_PS_IOCTL) \
50*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_HOSTAPD_SET_SAP_CHANNEL_LIST_IOCTL) \
51*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_ADD_VIRTUAL_INTF) \
52*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_DEL_VIRTUAL_INTF) \
53*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CHANGE_VIRTUAL_INTF) \
54*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_START_AP) \
55*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_CHANGE_BEACON) \
56*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_STOP_AP) \
57*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_CHANGE_BSS) \
58*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_ADD_KEY) \
59*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_GET_KEY) \
60*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_DEFAULT_KEY) \
61*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_CONNECT) \
62*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_DISCONNECT) \
63*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_WIPHY_PARAMS) \
64*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_TXPOWER) \
65*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_GET_TXPOWER) \
66*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_CHANNEL) \
67*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_ADD_BEACON) \
68*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_BEACON) \
69*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_CHANGE_IFACE) \
70*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CHANGE_STATION) \
71*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_UPDATE_BSS) \
72*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SCAN) \
73*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_REMAIN_ON_CHANNEL) \
74*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_REMAINCHANREADYHANDLER) \
75*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_CANCEL_REMAIN_ON_CHANNEL) \
76*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_ACTION) \
77*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_MGMT_TX_CANCEL_WAIT) \
78*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_GET_STA) \
79*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_POWER_MGMT) \
80*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_DEL_STA) \
81*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_ADD_STA) \
82*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_PMKSA) \
83*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_UPDATE_FT_IES) \
84*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_TDLS_MGMT) \
85*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_TDLS_OPER) \
86*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_REKEY_DATA) \
87*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_UNSUPPORTED_IOCTL) \
88*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_SETROAMSCANCHANNELMINTIME_IOCTL) \
89*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_GETROAMSCANCHANNELMINTIME_IOCTL) \
90*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_STORE_JOIN_REQ) \
91*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CLEAR_JOIN_REQ) \
92*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_ISSUE_JOIN_REQ) \
93*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_RESUME_WLAN) \
94*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SUSPEND_WLAN) \
95*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SET_MAC_ACL) \
96*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_TESTMODE) \
97*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_DUMP_SURVEY) \
98*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SCHED_SCAN_START) \
99*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_SCHED_SCAN_STOP) \
100*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_CFG80211_DEL_PMKSA) \
101*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_SEND_MGMT_TX) \
102*5113495bSYour Name 	/*
103*5113495bSYour Name 	 * New CFG80211 enums to be added before this comment.
104*5113495bSYour Name 	 * TRACE_CODE_HDD_RX_SME_MSG is used as code for MTRACE commands.
105*5113495bSYour Name 	 */ \
106*5113495bSYour Name 	ENUM(TRACE_CODE_HDD_RX_SME_MSG)
107*5113495bSYour Name 
108*5113495bSYour Name enum {
109*5113495bSYour Name #undef ENUM
110*5113495bSYour Name #define ENUM(enum) enum,
111*5113495bSYour Name 	ENUMS
112*5113495bSYour Name };
113*5113495bSYour Name 
114*5113495bSYour Name /**
115*5113495bSYour Name  * hdd_trace_event_string() - Convert trace event to string
116*5113495bSYour Name  * @code: trace event enumeration to convert
117*5113495bSYour Name  *
118*5113495bSYour Name  * Return: string representation of the input enumeration
119*5113495bSYour Name  */
hdd_trace_event_string(uint32_t code)120*5113495bSYour Name static inline const char *hdd_trace_event_string(uint32_t code)
121*5113495bSYour Name {
122*5113495bSYour Name 	switch (code) {
123*5113495bSYour Name 	default:
124*5113495bSYour Name 		return "UNKNOWN";
125*5113495bSYour Name #undef ENUM
126*5113495bSYour Name #define ENUM(enum) CASE_RETURN_STRING(enum)
127*5113495bSYour Name 	ENUMS
128*5113495bSYour Name 	}
129*5113495bSYour Name }
130*5113495bSYour Name 
131*5113495bSYour Name #undef ENUMS
132*5113495bSYour Name #undef ENUM
133*5113495bSYour Name 
134*5113495bSYour Name #ifdef HDD_TRACE_RECORD
135*5113495bSYour Name void hdd_trace_init(void);
136*5113495bSYour Name #else
hdd_trace_init(void)137*5113495bSYour Name static inline void hdd_trace_init(void) {}
138*5113495bSYour Name #endif
139*5113495bSYour Name 
140*5113495bSYour Name #endif
141