diff options
| author | Anurag Chouhan <achouhan@qti.qualcomm.com> | 2016-08-04 16:26:14 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-08-11 17:37:24 +0530 |
| commit | fc784ba9e9ece6e140fb141c33c9d9fe80ca0ad1 (patch) | |
| tree | 38b19cdeeb63cbbcbc3ed3692068ac164c2b4c56 | |
| parent | 819dad6ad1785564acd27239c3cb6d327ad45a23 (diff) | |
qcacld-2.0: CL 1605795 - update fw common interface files
WMI pdev POWER_STATS request and report message defs
pktlog flag in HTT_T2H RX_IN_ORD_PADDR_IND
New release of Hawkeye HW header files
Change-Id: If2f122a6879b60052849b7efb738e7fc1a4c23f3
CRs-fixed: 865207
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 14 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 48 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 1 |
4 files changed, 64 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index 8e9322450929..091e45c41722 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -731,6 +731,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_get_antdiv_status_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_antdiv_status_event_fixed_param, WMITLV_TAG_STRUC_wmi_mnt_filter_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_get_chip_power_stats_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_chip_power_stats_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1030,6 +1032,7 @@ typedef enum { OP(WMI_PEER_ANTDIV_INFO_REQ_CMDID) \ OP(WMI_PDEV_GET_ANTDIV_STATUS_CMDID) \ OP(WMI_MNT_FILTER_CMDID) \ + OP(WMI_PDEV_GET_CHIP_POWER_STATS_CMDID) \ /* add new CMD_LIST elements above this line */ /* @@ -1186,6 +1189,7 @@ typedef enum { OP(WMI_SERVICE_AVAILABLE_EVENTID) \ OP(WMI_PEER_ANTDIV_INFO_EVENTID) \ OP(WMI_PDEV_ANTDIV_STATUS_EVENTID) \ + OP(WMI_PDEV_CHIP_POWER_STATS_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -2966,6 +2970,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_REORDER_QUEUE_REMOVE_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mnt_filter_cmd_fixed_param, wmi_mnt_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MNT_FILTER_CMDID); +/* WLAN GET Chip power Stats*/ +#define WMITLV_TABLE_WMI_PDEV_GET_CHIP_POWER_STATS_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_chip_power_stats_cmd_fixed_param, wmi_pdev_get_chip_power_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CHIP_POWER_STATS_CMDID); + /************************** TLV definitions of WMI events *******************************/ /* Service Ready event */ @@ -3778,6 +3787,11 @@ 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_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) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_STATS_EVENTID); + #define WMITLV_TABLE_WMI_PDEV_ANI_OFDM_LEVEL_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ani_ofdm_event_fixed_param, wmi_ani_ofdm_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANI_OFDM_LEVEL_EVENTID); diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index c9a6c8fdf7b8..8330b20dc62d 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -350,6 +350,8 @@ typedef enum { WMI_PDEV_SET_WAKEUP_CONFIG_CMDID, /* Get current ANT's per chain's RSSI info */ WMI_PDEV_GET_ANTDIV_STATUS_CMDID, + /** WMI command for getting Chip Power Stats */ + WMI_PDEV_GET_CHIP_POWER_STATS_CMDID, /* VDEV (virtual device) specific commands */ /** vdev create */ @@ -1045,6 +1047,8 @@ typedef enum { WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID, /** Report ANT DIV feature's status */ WMI_PDEV_ANTDIV_STATUS_EVENTID, + /** Chip level Power stats */ + WMI_PDEV_CHIP_POWER_STATS_EVENTID, /* VDEV specific events */ /** VDEV started event in response to VDEV_START request */ @@ -15176,6 +15180,16 @@ typedef struct { } wmi_pdev_get_tpc_cmd_fixed_param; typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals + WMITLV_TAG_STRUC_wmi_pdev_get_chip_power_stats_cmd_fixed_param */ + /** + * pdev_id for identifying the MAC See macros + * starting with WMI_PDEV_ID_ for values. + */ + A_UINT32 pdev_id; +} wmi_pdev_get_chip_power_stats_cmd_fixed_param; + +typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_tpc_event_fixed_param */ A_UINT32 reserved0; /* for future need */ /* @@ -15218,6 +15232,40 @@ typedef struct { A_UINT32 cck_level; } wmi_ani_cck_event_fixed_param; +typedef enum wmi_power_debug_reg_fmt_type { + /* WMI_POWER_DEBUG_REG_FMT_TYPE_ROME -> Dumps following 12 Registers + * SOC_SYSTEM_SLEEP + * WLAN_SYSTEM_SLEEP + * RTC_SYNC_FORCE_WAKE + * MAC_DMA_ISR + * MAC_DMA_TXRX_ISR + * MAC_DMA_ISR_S1 + * MAC_DMA_ISR_S2 + * MAC_DMA_ISR_S3 + * MAC_DMA_ISR_S4 + * MAC_DMA_ISR_S5 + * MAC_DMA_ISR_S6 + * MAC_DMA_ISR_S7 + */ + WMI_POWER_DEBUG_REG_FMT_TYPE_ROME, + WMI_POWER_DEBUG_REG_FMT_TYPE_MAX = 0xf, +} WMI_POWER_DEBUG_REG_FMT_TYPE; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals + WMITLV_TAG_STRUC_wmi_chip_power_stats_event_fixed_param */ + A_UINT32 cumulative_sleep_time_ms; /* maximum range is 35 hours, due to conversion from internal 0.03215 ms units to ms */ + A_UINT32 cumulative_total_on_time_ms; /* maximum range is 35 hours, due to conversion from internal 0.03215 ms units to ms */ + A_UINT32 deep_sleep_enter_counter; /* count of number of times chip enterred deep sleep */ + A_UINT32 last_deep_sleep_enter_tstamp_ms; /* Last Timestamp when Chip went to deep sleep */ + A_UINT32 debug_register_fmt; /* WMI_POWER_DEBUG_REG_FMT_TYPE enum, describes debug registers being dumped as part of the event */ + A_UINT32 num_debug_register; /* number of debug registers being sent to host */ + /* + * Following this structure is the TLV: + * A_UINT32 debug_registers[num_debug_registers]; + */ +} wmi_pdev_chip_power_stats_event_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/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 8dcd4aec6b3a..2c6a7aa2dd74 100644 --- a/CORE/SERVICES/COMMON/wmi_version.h +++ b/CORE/SERVICES/COMMON/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_ 283 +#define __WMI_REVISION_ 284 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work diff --git a/CORE/SERVICES/WMI/wmi_unified.c b/CORE/SERVICES/WMI/wmi_unified.c index 7f5a6f633d58..3d23b8103619 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -715,6 +715,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_PDEV_GET_ANTDIV_STATUS_CMDID); CASE_RETURN_STRING(WMI_PEER_ANTDIV_INFO_REQ_CMDID); CASE_RETURN_STRING(WMI_MNT_FILTER_CMDID); + CASE_RETURN_STRING(WMI_PDEV_GET_CHIP_POWER_STATS_CMDID); } return "Invalid WMI cmd"; } |
