From 41f5866fe6188a0d781bd13cea7bb79c0eabe382 Mon Sep 17 00:00:00 2001 From: Sandeep Puligilla Date: Thu, 2 Feb 2017 10:02:58 -0800 Subject: fw-api: CL 2830390 - update fw common interface files WMI Changes to send Power Save Failure detection event to host Change-Id: I0589ecd7647d03c420e90814577d48ccd2053551 CRs-Fixed: 1107600 --- fw/wmi_tlv_defs.h | 6 ++++++ fw/wmi_unified.h | 16 ++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3