diff --git a/qdf/inc/qdf_hang_event_notifier.h b/qdf/inc/qdf_hang_event_notifier.h index f13787393948..b5742bd0e1e8 100644 --- a/qdf/inc/qdf_hang_event_notifier.h +++ b/qdf/inc/qdf_hang_event_notifier.h @@ -25,7 +25,44 @@ #include #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