summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnurag Chouhan <achouhan@qti.qualcomm.com>2016-04-20 22:34:45 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-05-03 15:51:09 +0530
commitf7c31b259e9666cf92abaa71b4457e5354faf966 (patch)
tree81d6d785559ea3b5f84ec8b4f07517348c7bee46
parent08f3beb5a8167cc369ace8ffb9b483b93ba95c28 (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.h8
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h20
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c1
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";
}