summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfw/wmi_tlv_defs.h7
-rwxr-xr-xfw/wmi_unified.h39
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 47 insertions, 1 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index b71b92199bdd..b7c33cadc3ef 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -801,6 +801,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_update_pkt_routing_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_event_fixed_param,
+ WMITLV_TAG_STRUC_wmi_pdev_set_diversity_gain_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1125,6 +1126,7 @@ typedef enum {
OP(WMI_LPI_OEM_REQ_CMDID) \
OP(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID) \
OP(WMI_PDEV_CHECK_CAL_VERSION_CMDID) \
+ OP(WMI_PDEV_SET_DIVERSITY_GAIN_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -3232,6 +3234,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_check_cal_version_cmd_fixed_param, wmi_pdev_check_cal_version_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHECK_CAL_VERSION_CMDID);
+#define WMITLV_TABLE_WMI_PDEV_SET_DIVERSITY_GAIN_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_diversity_gain_cmd_fixed_param, wmi_pdev_set_diversity_gain_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, diversity_gains, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_DIVERSITY_GAIN_CMDID);
+
/************************** TLV definitions of WMI events *******************************/
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index a0f6ece95d71..83dbc34bc968 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -362,6 +362,8 @@ typedef enum {
WMI_PDEV_UPDATE_PKT_ROUTING_CMDID,
/** Get Calibration data version details */
WMI_PDEV_CHECK_CAL_VERSION_CMDID,
+ /** Set Diversity Gain */
+ WMI_PDEV_SET_DIVERSITY_GAIN_CMDID,
/* VDEV (virtual device) specific commands */
/** vdev create */
@@ -3926,6 +3928,16 @@ typedef enum {
* 0 - Disallow mesh mcast traffic
*/
WMI_PDEV_PARAM_MESH_MCAST_ENABLE,
+ /** Enable/Disable smart chainmask scheme
+ * 1 - Enable smart chainmask scheme
+ * 0 - Disable smart chainmask scheme
+ */
+ WMI_PDEV_PARAM_SMART_CHAINMASK_SCHEME,
+ /** Enable/Disable alternate chainmask scheme
+ * 1 - Enable alternate chainmask scheme
+ * 0 - Disable alternate chainmask scheme
+ */
+ WMI_PDEV_PARAM_ALTERNATIVE_CHAINMASK_SCHEME,
} WMI_PDEV_PARAM;
@@ -12808,6 +12820,18 @@ enum {
#define GET_PDEV_PARAM_TXPOWER_REASON(txpower_param) \
(((txpower_param) & PDEV_PARAM_TXPOWER_REASON_MASK) >> PDEV_PARAM_TXPOWER_REASON_SHIFT)
+#define PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_MASK 0x00000001
+#define PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_SHIFT 0
+
+#define SET_PDEV_SMART_CHAINMASK_SCHEME_DECISION(param, value) \
+ do { \
+ (param) &= ~PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_MASK; \
+ (param) |= (value) << PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_SHIFT; \
+ while (0)
+
+#define GET_PDEV_SMART_CHAINMASK_SCHEME_DECISION(param) \
+ (((param) & PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_MASK) >> PDEV_PARAM_SMART_CHAINMASK_SCHEME_DECISION_SHIFT)
+
/**
* This command is sent from WLAN host driver to firmware to
* notify the current modem power state. Host would receive a
@@ -17746,6 +17770,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_LPI_OEM_REQ_CMDID);
WMI_RETURN_STRING(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID);
WMI_RETURN_STRING(WMI_PDEV_CHECK_CAL_VERSION_CMDID);
+ WMI_RETURN_STRING(WMI_PDEV_SET_DIVERSITY_GAIN_CMDID);
}
return "Invalid WMI cmd";
@@ -18049,6 +18074,20 @@ typedef struct {
A_UINT32 pdev_id;
} wmi_pdev_check_cal_version_cmd_fixed_param;
+typedef struct {
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_diversity_gain_cmd_fixed_param */
+ /** Identifies pdev on which diversity gain to be applied */
+ A_UINT32 pdev_id;
+ /** The number of spatial stream */
+ A_UINT32 nss;
+ /** The number of gains */
+ A_UINT32 num_gains;
+ /*
+ * This fixed_param TLV is followed by other TLVs:
+ * A_UINT8 diversity_gains[num_gains]; (gain is in dB units)
+ */
+} wmi_pdev_set_diversity_gain_cmd_fixed_param;
+
/* ADD NEW DEFS HERE */
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index ae885f10cfa8..ed0b02405c47 100755
--- a/fw/wmi_version.h
+++ b/fw/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_ 350
+#define __WMI_REVISION_ 351
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work