event_trace.h 5.6 KB

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