• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Trace log blocks sent over HBUS
3  *
4  * Copyright (C) 1999-2019, Broadcom.
5  *
6  *      Unless you and Broadcom execute a separate written software license
7  * agreement governing use of this software, this software is licensed to you
8  * under the terms of the GNU General Public License version 2 (the "GPL"),
9  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10  * following added to such license:
11  *
12  *      As a special exception, the copyright holders of this software give you
13  * permission to link this software with independent modules, and to copy and
14  * distribute the resulting executable under terms of your choice, provided that
15  * you also meet, for each linked independent module, the terms and conditions
16  * of the license of that module.  An independent module is a module which is
17  * not derived from this software.  The special exception does not apply to any
18  * modifications of the software.
19  *
20  *      Notwithstanding the above, under no circumstances may you combine this
21  * software in any way with any other Broadcom software provided under a license
22  * other than the GPL, without Broadcom's express prior written consent.
23  *
24  *
25  * <<Broadcom-WL-IPTag/Open:>>
26  *
27  * $Id: event_trace.h 693870 2017-04-05 09:03:17Z $
28  */
29 
30 /**
31  * @file
32  * @brief
33  * Define the trace event ID and tag ID
34  */
35 
36 #ifndef _WL_DIAG_H
37 #define _WL_DIAG_H
38 
39 #define DIAG_MAJOR_VERSION 1 /* 4 bits */
40 #define DIAG_MINOR_VERSION 0 /* 4 bits */
41 #define DIAG_MICRO_VERSION 0 /* 4 bits */
42 
43 #define DIAG_VERSION                                                           \
44     ((DIAG_MICRO_VERSION & 0xF) | (DIAG_MINOR_VERSION & 0xF) << 4 |            \
45      (DIAG_MAJOR_VERSION & 0xF) << 8)
46 /* bit[11:8] major ver */
47 /* bit[7:4] minor ver */
48 /* bit[3:0] micro ver */
49 
50 /* event ID for trace purpose only, to avoid the conflict with future new
51  * WLC_E_ , starting from 0x8000
52  */
53 #define TRACE_FW_AUTH_STARTED 0x8000
54 #define TRACE_FW_ASSOC_STARTED 0x8001
55 #define TRACE_FW_RE_ASSOC_STARTED 0x8002
56 #define TRACE_G_SCAN_STARTED 0x8003
57 #define TRACE_ROAM_SCAN_STARTED 0x8004
58 #define TRACE_ROAM_SCAN_COMPLETE 0x8005
59 #define TRACE_FW_EAPOL_FRAME_TRANSMIT_START 0x8006
60 #define TRACE_FW_EAPOL_FRAME_TRANSMIT_STOP 0x8007
61 #define TRACE_BLOCK_ACK_NEGOTIATION_COMPLETE 0x8008 /* protocol status */
62 #define TRACE_BT_COEX_BT_SCO_START 0x8009
63 #define TRACE_BT_COEX_BT_SCO_STOP 0x800a
64 #define TRACE_BT_COEX_BT_SCAN_START 0x800b
65 #define TRACE_BT_COEX_BT_SCAN_STOP 0x800c
66 #define TRACE_BT_COEX_BT_HID_START 0x800d
67 #define TRACE_BT_COEX_BT_HID_STOP 0x800e
68 #define TRACE_ROAM_AUTH_STARTED 0x800f
69 /* Event ID for NAN, start from 0x9000 */
70 #define TRACE_NAN_CLUSTER_STARTED 0x9000
71 #define TRACE_NAN_CLUSTER_JOINED 0x9001
72 #define TRACE_NAN_CLUSTER_MERGED 0x9002
73 #define TRACE_NAN_ROLE_CHANGED 0x9003
74 #define TRACE_NAN_SCAN_COMPLETE 0x9004
75 #define TRACE_NAN_STATUS_CHNG 0x9005
76 
77 /* Parameters of wifi logger events are TLVs */
78 /* Event parameters tags are defined as: */
79 #define TRACE_TAG_VENDOR_SPECIFIC 0 /* take a byte stream as parameter */
80 #define TRACE_TAG_BSSID 1  /* takes a 6 bytes MAC address as parameter */
81 #define TRACE_TAG_ADDR 2   /* takes a 6 bytes MAC address as parameter */
82 #define TRACE_TAG_SSID 3   /* takes a 32 bytes SSID address as parameter */
83 #define TRACE_TAG_STATUS 4 /* takes an integer as parameter */
84 #define TRACE_TAG_CHANNEL_SPEC 5 /* takes one or more wifi_channel_spec as */
85                                  /* parameter */
86 #define TRACE_TAG_WAKE_LOCK_EVENT                                              \
87     6                          /* takes a wake_lock_event struct as parameter */
88 #define TRACE_TAG_ADDR1 7      /* takes a 6 bytes MAC address as parameter */
89 #define TRACE_TAG_ADDR2 8      /* takes a 6 bytes MAC address as parameter */
90 #define TRACE_TAG_ADDR3 9      /* takes a 6 bytes MAC address as parameter */
91 #define TRACE_TAG_ADDR4 10     /* takes a 6 bytes MAC address as parameter */
92 #define TRACE_TAG_TSF 11       /* take a 64 bits TSF value as parameter */
93 #define TRACE_TAG_IE 12        /* take one or more specific 802.11 IEs */
94                                /* parameter, IEs are in turn indicated in */
95                                /* TLV format as per 802.11 spec */
96 #define TRACE_TAG_INTERFACE 13 /* take interface name as parameter */
97 #define TRACE_TAG_REASON_CODE 14 /* take a reason code as per 802.11 */
98                                  /* as parameter */
99 #define TRACE_TAG_RATE_MBPS 15   /* take a wifi rate in 0.5 mbps */
100 #define TRACE_TAG_REQUEST_ID 16  /* take an integer as parameter */
101 #define TRACE_TAG_BUCKET_ID 17   /* take an integer as parameter */
102 #define TRACE_TAG_GSCAN_PARAMS                                                 \
103     18 /* takes a wifi_scan_cmd_params struct as parameter */
104 #define TRACE_TAG_GSCAN_CAPABILITIES                                           \
105     19 /* takes a wifi_gscan_capabilities struct as parameter */
106 #define TRACE_TAG_SCAN_ID 20            /* take an integer as parameter */
107 #define TRACE_TAG_RSSI 21               /* take an integer as parameter */
108 #define TRACE_TAG_CHANNEL 22            /* take an integer as parameter */
109 #define TRACE_TAG_LINK_ID 23            /* take an integer as parameter */
110 #define TRACE_TAG_LINK_ROLE 24          /* take an integer as parameter */
111 #define TRACE_TAG_LINK_STATE 25         /* take an integer as parameter */
112 #define TRACE_TAG_LINK_TYPE 26          /* take an integer as parameter */
113 #define TRACE_TAG_TSCO 27               /* take an integer as parameter */
114 #define TRACE_TAG_RSCO 28               /* take an integer as parameter */
115 #define TRACE_TAG_EAPOL_MESSAGE_TYPE 29 /* take an integer as parameter */
116                                         /* M1-1, M2-2, M3-3, M4-4 */
117 
118 typedef union {
119     struct {
120         uint16 event : 16;
121         uint16 version : 16;
122     };
123     uint32 t;
124 } wl_event_log_id_ver_t;
125 
126 #endif /* _WL_DIAG_H */
127