summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfw/wmi_tlv_defs.h6
-rwxr-xr-xfw/wmi_unified.h16
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 23 insertions, 1 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index c301cc11be3f..4fe83245c4c1 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -795,6 +795,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_hw_data_filter_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_connected_nlo_bss_band_rssi_pref,
WMITLV_TAG_STRUC_wmi_peer_oper_mode_change_event_fixed_param,
+ WMITLV_TAG_STRUC_wmi_chip_power_save_failure_detected_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1290,6 +1291,7 @@ typedef enum {
OP(WMI_RADIO_CHAN_STATS_EVENTID) \
OP(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENTID) \
OP(WMI_PEER_OPER_MODE_CHANGE_EVENTID) \
+ OP(WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -4060,6 +4062,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHANNEL_HOPPING_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ani_cck_event_fixed_param, wmi_ani_cck_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANI_CCK_LEVEL_EVENTID);
+#define WMITLV_TABLE_WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_chip_power_save_failure_detected_fixed_param, wmi_chip_power_save_failure_detected_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID);
+
#define WMITLV_TABLE_WMI_PDEV_CHIP_POWER_STATS_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_chip_power_stats_event_fixed_param, wmi_pdev_chip_power_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, debug_registers, WMITLV_SIZE_VAR)
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index c35bcf4c7921..cea84c441c40 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -1090,6 +1090,8 @@ typedef enum {
WMI_PDEV_ANTDIV_STATUS_EVENTID,
/** Chip level Power stats */
WMI_PDEV_CHIP_POWER_STATS_EVENTID,
+ /** Power Save Failure Detected */
+ WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID,
/* VDEV specific events */
/** VDEV started event in response to VDEV_START request */
@@ -9133,6 +9135,7 @@ typedef enum event_type_e {
WOW_OEM_RESPONSE_EVENT = WOW_NAN_RTT_EVENT, /* reuse deprecated event value */
WOW_TDLS_CONN_TRACKER_EVENT,
WOW_CRITICAL_LOG_EVENT,
+ WOW_CHIP_POWER_FAILURE_DETECT_EVENT,
} WOW_WAKE_EVENT_TYPE;
typedef enum wake_reason_e {
@@ -9184,6 +9187,7 @@ typedef enum wake_reason_e {
WOW_REASON_CRITICAL_LOG,
WOW_REASON_P2P_LISTEN_OFFLOAD,
WOW_REASON_NAN_EVENT_WAKE_HOST,
+ WOW_REASON_CHIP_POWER_FAILURE_DETECT,
WOW_REASON_DEBUG_TEST = 0xFF,
} WOW_WAKE_REASON_TYPE;
@@ -16641,6 +16645,18 @@ typedef struct {
*/
} wmi_pdev_chip_power_stats_event_fixed_param;
+typedef enum wmi_chip_power_save_failure_reason_code_type {
+ WMI_PROTOCOL_POWER_SAVE_FAILURE_REASON,
+ WMI_HW_POWER_SAVE_FAILURE_REASON,
+ WMI_POWER_SAVE_FAILURE_REASON_MAX = 0xf,
+} WMI_POWER_SAVE_FAILURE_REASON_TYPE;
+
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_chip_power_save_failure_detected_fixed_param */
+ A_UINT32 power_save_failure_reason_code; /* Chip power save failuire reason as defined in WMI_POWER_SAVE_FAILURE_REASON_TYPE */
+ A_UINT32 protocol_wake_lock_bitmap[4]; /* bitmap with bits set for modules (from WLAN_MODULE_ID enum) voting against sleep for prolonged duration */
+} wmi_chip_power_save_failure_detected_fixed_param;
+
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ani_ofdm_event_fixed_param */
A_UINT32 ofdm_level;
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index b4ef1dafa556..1764902f7356 100755
--- a/fw/wmi_version.h
+++ b/fw/wmi_version.h
@@ -36,7 +36,7 @@
#define __WMI_VER_MINOR_ 0
/** WMI revision number has to be incremented when there is a
* change that may or may not break compatibility. */
-#define __WMI_REVISION_ 341
+#define __WMI_REVISION_ 342
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work