diff options
| author | Anurag Chouhan <achouhan@qti.qualcomm.com> | 2016-04-20 22:34:45 +0530 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2016-05-03 15:51:09 +0530 |
| commit | f7c31b259e9666cf92abaa71b4457e5354faf966 (patch) | |
| tree | 81d6d785559ea3b5f84ec8b4f07517348c7bee46 | |
| parent | 08f3beb5a8167cc369ace8ffb9b483b93ba95c28 (diff) | |
qcacld-2.0: CL 1498085 - update fw common interface files
WMI changes to handle action frames of different category in WoW mode
Change-Id: Icbf9ad7cac93dd75ddb976a0f781e20b60201896
CRs-Fixed: 865207
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 8 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 20 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 1 |
4 files changed, 29 insertions, 2 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index 7b92d3939c21..2d4e9341ed06 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -702,6 +702,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_tx_power_level_stats_evt_fixed_param, WMITLV_TAG_STRUC_wmi_scan_adaptive_dwell_parameters_tlv, WMITLV_TAG_STRUC_wmi_scan_adaptive_dwell_config_fixed_param, + WMITLV_TAG_STRUC_wmi_wow_set_action_wake_up_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -985,7 +986,8 @@ typedef enum { OP(WMI_VDEV_SET_CUSTOM_AGGR_SIZE_CMDID) \ OP(WMI_PDEV_WAL_POWER_DEBUG_CMDID) \ OP(WMI_VDEV_WISA_CMDID) \ - OP(WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID) + OP(WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID) \ + OP(WMI_WOW_SET_ACTION_WAKE_UP_CMDID) /* * IMPORTANT: Please add _ALL_ WMI Events Here. @@ -1594,6 +1596,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WOW_UDP_SVC_OFLD_CMDID); WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_WOW_HOSTWAKEUP_GPIO_PIN_PATTERN_CONFIG_CMDID); +#define WMITLV_TABLE_WMI_WOW_SET_ACTION_WAKE_UP_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_wow_set_action_wake_up_cmd_fixed_param, WMI_WOW_SET_ACTION_WAKE_UP_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_WOW_SET_ACTION_WAKE_UP_CMDID); + /* Wow enable/disable wake up Cmd */ #define WMITLV_TABLE_WMI_WOW_ENABLE_DISABLE_WAKE_EVENT_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_ADD_DEL_EVT_CMD_fixed_param, WMI_WOW_ADD_DEL_EVT_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index 63272528989c..886770967158 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -620,6 +620,9 @@ typedef enum { /* configure WOW host wakeup PIN pattern */ WMI_WOW_HOSTWAKEUP_GPIO_PIN_PATTERN_CONFIG_CMDID, + /* Set which action category should wake the host from suspend */ + WMI_WOW_SET_ACTION_WAKE_UP_CMDID, + /* RTT measurement related cmd */ /** request to make an RTT measurement */ WMI_RTT_MEASREQ_CMDID=WMI_CMD_GRP_START_ID(WMI_GRP_RTT), @@ -7967,6 +7970,23 @@ typedef struct { A_UINT32 repeat_cnt;// repeat times for pulse (0xffffffff means forever) } WMI_WOW_HOSTWAKEUP_GPIO_PIN_PATTERN_CONFIG_CMD_fixed_param; +#define MAX_SUPPORTED_ACTION_CATEGORY 256 +#define MAX_SUPPORTED_ACTION_CATEGORY_ELE_LIST (MAX_SUPPORTED_ACTION_CATEGORY/32) + +typedef enum { + WOW_ACTION_WAKEUP_OPERATION_RESET = 0, + WOW_ACTION_WAKEUP_OPERATION_SET, + WOW_ACTION_WAKEUP_OPERATION_ADD_SET, + WOW_ACTION_WAKEUP_OPERATION_DELETE_SET, +} WOW_ACTION_WAKEUP_OPERATION; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_SET_ACTION_WAKE_UP_CMD_fixed_param */ + A_UINT32 vdev_id; + A_UINT32 operation; /* 0 reset to fw default, 1 set the bits, 2 add the setting bits, 3 delete the setting bits */ + A_UINT32 action_category_map[MAX_SUPPORTED_ACTION_CATEGORY_ELE_LIST]; +} WMI_WOW_SET_ACTION_WAKE_UP_CMD_fixed_param; + typedef struct wow_event_info_s { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WOW_EVENT_INFO_fixed_param */ A_UINT32 vdev_id; diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index d143ea70585b..c455f890f491 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_ 239 +#define __WMI_REVISION_ 240 /** 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 fb93e7f04fd4..9e57e854b276 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -699,6 +699,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_PDEV_WAL_POWER_DEBUG_CMDID); CASE_RETURN_STRING(WMI_VDEV_WISA_CMDID); CASE_RETURN_STRING(WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID); + CASE_RETURN_STRING(WMI_WOW_SET_ACTION_WAKE_UP_CMDID); } return "Invalid WMI cmd"; } |
