|
@@ -25,7 +25,44 @@
|
|
|
#include <qdf_notifier.h>
|
|
|
|
|
|
#define QDF_HANG_EVENT_VERSION "1.0"
|
|
|
+/* Max hang event buffer size */
|
|
|
#define QDF_HANG_EVENT_DATA_SIZE 784
|
|
|
+/* Max offset which host can write */
|
|
|
+#define QDF_WLAN_MAX_HOST_OFFSET 390
|
|
|
+/* Start of the Firmware Data offset */
|
|
|
+#define QDF_WLAN_HANG_FW_OFFSET 392
|
|
|
+
|
|
|
+/**
|
|
|
+ * hang_event_tag: Hang event tag for various modules
|
|
|
+ * @HANG_EVT_TAG_CDS: CDS module hang event tag
|
|
|
+ * @HANG_EVT_TAG_OS_IF: OS interface module hang event tag
|
|
|
+ * @HANG_EVT_TAG_OS_IF_SCAN: scan module hang event tag
|
|
|
+ * @HANG_EVT_TAG_LEGACY_MAC: Legacy mac module hang event tag
|
|
|
+ * @HANG_EVT_TAG_WMI_EVT_HIST: WMI event history hang event tag
|
|
|
+ * @HANG_EVT_TAG_WMI_CMD_HIST: WMI command history hang event tag
|
|
|
+ * @HANG_EVT_TAG_WMI_CMD_HIST: HTC event tag wmi command history hang event tag
|
|
|
+ * @HANG_EVT_TAG_DP_PEER_INFO: DP peer info hang event tag
|
|
|
+ * @HANG_EVT_TAG_CE_INFO: Copy Engine hang event tag
|
|
|
+ */
|
|
|
+enum hang_event_tag {
|
|
|
+ HANG_EVT_TAG_CDS,
|
|
|
+ HANG_EVT_TAG_OS_IF,
|
|
|
+ HANG_EVT_TAG_OS_IF_SCAN,
|
|
|
+ HANG_EVT_TAG_LEGACY_MAC,
|
|
|
+ HANG_EVT_TAG_WMI_EVT_HIST,
|
|
|
+ HANG_EVT_TAG_WMI_CMD_HIST,
|
|
|
+ HANG_EVT_TAG_HTC_CREDIT_HIST,
|
|
|
+ HANG_EVT_TAG_DP_PEER_INFO,
|
|
|
+ HANG_EVT_TAG_CE_INFO
|
|
|
+};
|
|
|
+
|
|
|
+#define QDF_HANG_EVENT_TLV_HDR_SIZE (sizeof(uint32_t))
|
|
|
+
|
|
|
+#define QDF_HANG_EVT_SET_HDR(tlv_buf, tag, len) \
|
|
|
+ (((uint32_t *)(tlv_buf))[0]) = (((tag) << 16) | ((len) & 0x0000FFFF))
|
|
|
+
|
|
|
+#define QDF_HANG_GET_STRUCT_TLVLEN(tlv_struct) \
|
|
|
+ ((uint32_t)(sizeof(tlv_struct) - QDF_HANG_EVENT_TLV_HDR_SIZE))
|
|
|
|
|
|
/**
|
|
|
* qdf_notifier_data - Private data for notifier data
|