summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHong Shi <hongsh@codeaurora.org>2017-03-13 14:39:54 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-20 07:28:11 -0700
commit65767db385ecc760c1963bedc4830cc44ad73128 (patch)
tree1d4f4e959d7d1a11f34c22be1ee6960b4e013ed1
parent151be7933a5213fd32c2cedc2967c8ece1502159 (diff)
qcacld-2.0: CL 2876468 - update fw common interface files
WMI pdev params to enable/disable smart and alternative chainmask schemes, add WMI_PDEV_SET_DIVERSITY_GAIN_CMD message def Change-Id: Ie87f8a04fe60a8ac05274577d57372902df88f63 CRs-fixed: 865207
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h7
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h41
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c1
4 files changed, 50 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 4bc187a9e265..c6dd5c5e7125 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -794,6 +794,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;
/*
@@ -1117,6 +1118,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 */
/*
@@ -3211,6 +3213,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 *******************************/
/* Service Ready event */
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 490b2dc6b997..5015a9630769 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -364,6 +364,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 */
@@ -3974,6 +3976,18 @@ 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;
@@ -12946,6 +12960,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
@@ -17923,6 +17949,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";
@@ -18245,6 +18272,20 @@ typedef struct {
A_UINT32 pdev_id;
} wmi_pdev_check_cal_version_cmd_fixed_param;
+typedef struct {
+ /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_set_diversity_gain_cmd_fixed_param */
+ A_UINT32 tlv_header;
+ /* 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/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index eb52d2730bcd..f528029e2aaf 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_ 350
+#define __WMI_REVISION_ 351
/** 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 3f93e3ca7454..74dc677b2cc5 100644
--- a/CORE/SERVICES/WMI/wmi_unified.c
+++ b/CORE/SERVICES/WMI/wmi_unified.c
@@ -740,6 +740,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_LPI_OEM_REQ_CMDID);
CASE_RETURN_STRING(WMI_PDEV_UPDATE_PKT_ROUTING_CMDID);
CASE_RETURN_STRING(WMI_PDEV_CHECK_CAL_VERSION_CMDID);
+ CASE_RETURN_STRING(WMI_PDEV_SET_DIVERSITY_GAIN_CMDID);
}
return "Invalid WMI cmd";
}