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