summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimanshu Agarwal <himanaga@qti.qualcomm.com>2016-05-13 11:58:27 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-05-18 14:36:30 +0530
commitd869d85695b9c8b2004d3bb469830107d061b9bc (patch)
treef379cb4d985717985a5602668207d4480bc7fbc3
parent27215a35d9694e4aa3cf7492b8cfc090c6d15e3d (diff)
qcacld-2.0: CL 1508507 – update fw common interface files
WMI RMC leader cmd and event msgs Change-Id: I803ab38903602dfe2fa41189a4c56077769d39e0 CRs-Fixed: 865207
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h12
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h47
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c1
4 files changed, 61 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 075fa61f27f3..733fae756ab1 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -707,6 +707,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_peer_bwf_request_fixed_param,
WMITLV_TAG_STRUC_wmi_bwf_peer_info,
WMITLV_TAG_STRUC_wmi_dbglog_time_stamp_sync_cmd_fixed_param,
+ WMITLV_TAG_STRUC_wmi_rmc_set_leader_cmd_fixed_param,
+ WMITLV_TAG_STRUC_wmi_rmc_manual_leader_event_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -994,6 +996,7 @@ typedef enum {
OP(WMI_WOW_SET_ACTION_WAKE_UP_CMDID) \
OP(WMI_PEER_BWF_REQUEST_CMDID) \
OP(WMI_DBGLOG_TIME_STAMP_SYNC_CMDID) \
+ OP(WMI_RMC_SET_MANUAL_LEADER_CMDID) \
/* add new CMD_LIST elements above this line */
/*
@@ -1144,6 +1147,7 @@ typedef enum {
OP(WMI_PDEV_HW_MODE_TRANSITION_EVENTID) \
OP(WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID) \
OP(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID) \
+ OP(WMI_RMC_NEW_LEADER_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -2855,6 +2859,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_WAL_POWER_DEBUG_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_bwf_peer_info, peer_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_BWF_REQUEST_CMDID);
+#define WMITLV_TABLE_WMI_RMC_SET_MANUAL_LEADER_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_rmc_set_leader_cmd_fixed_param, wmi_rmc_set_leader_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_RMC_SET_MANUAL_LEADER_CMDID);
+
/************************** TLV definitions of WMI events *******************************/
/* Service Ready event */
@@ -3675,6 +3683,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_INST_RSSI_STATS_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, tx_time_per_power_level, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID)
+#define WMITLV_TABLE_WMI_RMC_NEW_LEADER_EVENTID(id, op, buf, len) \
+ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_rmc_manual_leader_event_fixed_param, wmi_rmc_manual_leader_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_RMC_NEW_LEADER_EVENTID);
+
#ifdef __cplusplus
}
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index e4bec3ba4ca5..4261b5900df6 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -828,6 +828,8 @@ typedef enum {
/** For debug/future enhancement purposes only,
* configures/finetunes RMC algorithms */
WMI_RMC_CONFIG_CMDID,
+ /** select manual leader */
+ WMI_RMC_SET_MANUAL_LEADER_CMDID,
/** WLAN MHF offload commands */
/** enable/disable MHF offload */
@@ -1315,6 +1317,10 @@ typedef enum {
WMI_BPF_CAPABILIY_INFO_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_BPF_OFFLOAD),
WMI_BPF_VDEV_STATS_INFO_EVENTID,
+ /* RMC specific event */
+ /* RMC manual leader selected event */
+ WMI_RMC_NEW_LEADER_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_RMC),
+
/** Events in Prototyping phase */
WMI_NDI_CAP_RSP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_PROTOTYPE),
WMI_NDP_INITIATOR_RSP_EVENTID,
@@ -5197,6 +5203,18 @@ typedef enum {
* to all vdevs sharing the TSF.
*/
WMI_VDEV_PARAM_TSF_INCREMENT,
+
+ /* Disable/Enable AMPDU of vdev per AC:
+ * bit | AC
+ * --------
+ * 0 | VO
+ * 1 | VI
+ * 2 | BE
+ * 3 | BK
+ * A value of 0 in a given bit disables A-MPDU aggregation for
+ * that AC; a value of 1 enables A-MPDU aggregation
+ */
+ WMI_VDEV_PARAM_AMPDU_PER_AC,
} WMI_VDEV_PARAM;
/* vdev capabilities bit mask */
@@ -14576,6 +14594,35 @@ typedef struct {
**/
} wmi_pdev_wal_power_debug_cmd_fixed_param;
+typedef struct {
+ /** TLV tag and len; tag equals
+ * WMITLV_TAG_STRUC_wmi_rmc_set_leader_cmd_fixed_param
+ */
+ A_UINT32 tlv_header;
+ /* VDEV identifier */
+ A_UINT32 vdev_id;
+ /* Leader's mac address */
+ wmi_mac_addr leader_mac_addr;
+} wmi_rmc_set_leader_cmd_fixed_param;
+
+typedef struct {
+ /** TLV tag and len; tag equals
+ * WMITLV_TAG_STRUC_wmi_rmc_manual_leader_event_fixed_param
+ */
+ A_UINT32 tlv_header;
+ /* VDEV identifier */
+ A_UINT32 vdev_id;
+ /* 0: success
+ * 1: selected leader not found in network, able to find using auto selection
+ * -1: error
+ * non zero value should be return to userspace in case of failure
+ */
+ A_INT32 status;
+ /* bssid of new leader */
+ wmi_mac_addr leader_mac_addr;
+} wmi_rmc_manual_leader_event_fixed_param;
+
+
typedef enum {
WLAN_2G_CAPABILITY = 0x1,
WLAN_5G_CAPABILITY = 0x2,
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index 2dbe13edd1e8..1dd25b4ee571 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_ 244
+#define __WMI_REVISION_ 245
/** 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 aecda1f89c30..699f6c590156 100644
--- a/CORE/SERVICES/WMI/wmi_unified.c
+++ b/CORE/SERVICES/WMI/wmi_unified.c
@@ -702,6 +702,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_WOW_SET_ACTION_WAKE_UP_CMDID);
CASE_RETURN_STRING(WMI_PEER_BWF_REQUEST_CMDID);
CASE_RETURN_STRING(WMI_DBGLOG_TIME_STAMP_SYNC_CMDID);
+ CASE_RETURN_STRING(WMI_RMC_SET_MANUAL_LEADER_CMDID);
}
return "Invalid WMI cmd";
}