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