summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/SERVICES/COMMON/wmi_services.h2
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h11
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h15
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c1
5 files changed, 25 insertions, 6 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_services.h b/CORE/SERVICES/COMMON/wmi_services.h
index 41ad47d36a98..57e28185d5af 100644
--- a/CORE/SERVICES/COMMON/wmi_services.h
+++ b/CORE/SERVICES/COMMON/wmi_services.h
@@ -93,7 +93,7 @@ typedef enum {
WMI_SERVICE_QPOWER, /* QPower service */
WMI_SERVICE_PLMREQ,
WMI_SERVICE_THERMAL_MGMT,
- WMI_SERVICE_RMC, /* reliable multicast support */
+ WMI_SERVICE_RMC, /* RMC support */
WMI_SERVICE_MHF_OFFLOAD, /* multi-hop forwarding offload */
WMI_SERVICE_COEX_SAR, /* target support SAR tx limit from WMI_PDEV_PARAM_TXPOWER_LIMITxG */
WMI_SERVICE_BCN_TXRATE_OVERRIDE, /* Will support the bcn/prb rsp rate override */
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 1800a1e7e4ca..d9c0e7a4fe96 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -520,7 +520,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_mdns_get_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_mdns_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_invoke_cmd_fixed_param,
- WMITLV_TAG_STRUC_wmi_pdev_resume_event_fixed_param
+ WMITLV_TAG_STRUC_wmi_pdev_resume_event_fixed_param,
+ WMITLV_TAG_STRUC_wmi_pdev_set_antenna_diversity_cmd_fixed_param
} WMITLV_TAG_ID;
/*
@@ -717,7 +718,8 @@ typedef enum {
OP(WMI_MDNS_OFFLOAD_ENABLE_CMDID) \
OP(WMI_MDNS_SET_FQDN_CMDID) \
OP(WMI_MDNS_SET_RESPONSE_CMDID) \
- OP(WMI_MDNS_GET_STATS_CMDID)
+ OP(WMI_MDNS_GET_STATS_CMDID) \
+ OP(WMI_SET_ANTENNA_DIVERSITY_CMDID)
@@ -1955,6 +1957,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_D0_WOW_ENABLE_DISABLE_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_get_temperature_cmd_fixed_param, wmi_pdev_get_temperature_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TEMPERATURE_CMDID);
+/* Set antenna diversiry Cmd */
+#define WMITLV_TABLE_WMI_SET_ANTENNA_DIVERSITY_CMDID(id,op,buf,len) \
+WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_set_antenna_diversity_cmd_fixed_param, wmi_pdev_set_antenna_diversity_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_SET_ANTENNA_DIVERSITY_CMDID);
+
/* DHCP server offload param Cmd */
#define WMITLV_TABLE_WMI_SET_DHCP_SERVER_OFFLOAD_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_dhcp_server_offload_cmd_fixed_param, wmi_set_dhcp_server_offload_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 6bd1e9db9b30..300f7d55316b 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -574,6 +574,8 @@ typedef enum {
WMI_HOST_AUTO_SHUTDOWN_CFG_CMDID,
/** set tpc chainmask config command */
WMI_TPC_CHAINMASK_CONFIG_CMDID,
+ /** set Antenna diversity command */
+ WMI_SET_ANTENNA_DIVERSITY_CMDID,
/* GPIO Configuration */
WMI_GPIO_CONFIG_CMDID=WMI_CMD_GRP_START_ID(WMI_GRP_GPIO),
@@ -2454,6 +2456,15 @@ typedef struct {
A_UINT32 param;
} wmi_pdev_get_tpc_config_cmd_fixed_param;
+#define WMI_FAST_DIVERSITY_BIT_OFFSET 0
+#define WMI_SLOW_DIVERSITY_BIT_OFFSET 1
+
+typedef struct {
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_antenna_diversity_cmd_fixed_param */
+ A_UINT32 mac_id; /** placeholder for pdev_id of future multiple MAC products. Init. to 0. */
+ /** parameter */
+ A_UINT32 value; /** bit0 is for enable/disable FAST diversity, and bit1 is for enable/disable SLOW diversity, 0->disable, 1->enable */
+} wmi_pdev_set_antenna_diversity_cmd_fixed_param;
typedef struct {
/** parameter */
@@ -7585,7 +7596,7 @@ enum wmi_rmc_mode {
WMI_RMC_MODE_ENABLED = 1,
};
-/** Enable reliable multicast transmitter functionality. Upon
+/** Enable RMC transmitter functionality. Upon
* receiving this, the FW shall mutlicast frames with
* reliablity. This is a vendor
* proprietary feature. */
@@ -7601,7 +7612,7 @@ typedef struct {
} wmi_rmc_set_mode_cmd_fixed_param;
/** Configure transmission periodicity of action frames in a
- * reliable multicast network for the multicast transmitter */
+ * RMC network for the multicast transmitter */
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_rmc_set_action_period_cmd_fixed_param */
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index b4b66cd58851..14f2b22af044 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_ 79
+#define __WMI_REVISION_ 81
/** 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 4552682f12b8..833b363ff6fd 100644
--- a/CORE/SERVICES/WMI/wmi_unified.c
+++ b/CORE/SERVICES/WMI/wmi_unified.c
@@ -601,6 +601,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_MDNS_SET_RESPONSE_CMDID);
CASE_RETURN_STRING(WMI_MDNS_GET_STATS_CMDID);
CASE_RETURN_STRING(WMI_ROAM_INVOKE_CMDID);
+ CASE_RETURN_STRING(WMI_SET_ANTENNA_DIVERSITY_CMDID);
}
return "Invalid WMI cmd";
}