summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandeep Puligilla <spuligil@codeaurora.org>2017-02-24 11:01:05 -0800
committerSandeep Puligilla <spuligil@codeaurora.org>2017-02-24 11:01:05 -0800
commit7c5c784ad5690dffca9754a1f339fdddf01d8065 (patch)
tree4ffc8587787c31d8ba70aceabd728216c4e7f83b
parent24aff794cab346411c750d0e112acfe772c84f47 (diff)
fw-api: CL 2883169 - update fw common interface files
valid chaimask combination supported per MAC Change-Id: I7bde78ad150ba999e9da09fa27c4a524c8bf3f13 CRs-Fixed: 1107600
-rwxr-xr-xfw/wmi_tlv_defs.h8
-rwxr-xr-xfw/wmi_unified.h55
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 61 insertions, 4 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index b7c33cadc3ef..600355214527 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -802,6 +802,8 @@ typedef enum {
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_STRUC_WMI_MAC_PHY_CHAINMASK_COMBO,
+ WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_CAPABILITY,
} WMITLV_TAG_ID;
/*
@@ -1828,7 +1830,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_OEM_REQUEST_CMDID);
/* RTT OEM req Cmd through LPASS */
#define WMITLV_TABLE_WMI_LPI_OEM_REQ_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
-
+
WMITLV_CREATE_PARAM_STRUC(WMI_LPI_OEM_REQ_CMDID);
/* Spectral scan configure Cmd */
@@ -3263,7 +3265,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_AVAILABLE_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HW_MODE_CAPABILITIES, hw_mode_caps, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CAPABILITIES, mac_phy_caps, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_SOC_HAL_REG_CAPABILITIES, WMI_SOC_HAL_REG_CAPABILITIES, soc_hal_reg_caps, WMITLV_SIZE_FIX) \
- WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HAL_REG_CAPABILITIES_EXT, hal_reg_caps, WMITLV_SIZE_VAR)
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HAL_REG_CAPABILITIES_EXT, hal_reg_caps, WMITLV_SIZE_VAR) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CHAINMASK_COMBO, mac_phy_chainmask_combo, WMITLV_SIZE_VAR) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CHAINMASK_CAPABILITY, mac_phy_chainmask_caps, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
/* Ready event */
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index c6699688143a..fdb3b3b68adf 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -17089,6 +17089,8 @@ typedef struct {
A_UINT32 he_cap_phy_info_5G[WMI_MAX_HECAP_PHY_SIZE];
wmi_ppe_threshold he_ppet2G;
wmi_ppe_threshold he_ppet5G;
+ /* chainmask table to be used for the MAC */
+ A_UINT32 chainmask_table_id;
} WMI_MAC_PHY_CAPABILITIES;
typedef struct {
@@ -17109,11 +17111,62 @@ typedef struct {
A_UINT32 hw_mode_config_type;
} WMI_HW_MODE_CAPABILITIES;
+/** Definition of valid chainmask and associated capabilities */
+typedef struct {
+ A_UINT32 tlv_header;/* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_CAPABILITY */
+ /* supported flags: Capabilities for this chianmask*/
+ union {
+ struct {
+ A_UINT32 supports_chan_width_20:1,
+ supports_chan_width_40:1,
+ supports_chan_width_80:1,
+ supports_chan_width_160:1,
+ supports_chan_width_80P80:1,
+ reserved:22, /* bits 26:5 */
+ chain_mask_2G:1,
+ chain_mask_5G:1,
+ chain_mask_tx:1,
+ chain_mask_rx:1,
+ supports_aDFS:1; /* agile DFS */
+ };
+ A_UINT32 supported_flags;
+ };
+ A_UINT32 chainmask;
+} WMI_MAC_PHY_CHAINMASK_CAPABILITY;
+
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_COMBO */
+ A_UINT32 chainmask_table_id;
+ /* Number of vaild Chainmask in the table */
+ A_UINT32 num_valid_chainmask;
+/*
+ * This TLV is followed by the below TLVs:
+ * WMI_MAC_PHY_CHAINMASK_CAPABILITY mac_phy_chainmask_caps[num_valid_chainmask]
+ */
+} WMI_MAC_PHY_CHAINMASK_COMBO;
+
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_SOC_MAC_PHY_HW_MODE_CAPS */
/* num HW modes */
A_UINT32 num_hw_modes;
- /* num_hw_modes WMI_HW_MODE_CAPABILITIES TLV's */
+ /* number of unique chainmask combo tables */
+ A_UINT32 num_chainmask_tables;
+/*
+ * This TLV is followed by the below TLVs:
+ *
+ * WMI_HW_MODE_CAPABILITIES soc_hw_mode_caps[num_hw_modes]
+ *
+ * (intervening TLVs, e.g. HW_MODE_CAPS, MAC_PHY_CAPS, HAL_REG_CAPS)
+ *
+ * WMI_MAC_PHY_CHAINMASK_COMBO mac_phy_chainmask_combo[num_chainmask_tables]
+ * // number of chainmasks specified in mac_phy_chainmask_combo[0]
+ * WMI_MAC_PHY_CHAINMASK_CAPABILITY mac_phy_chainmask_caps[num_valid_chainmask0]
+ * // number of chainmasks specified in mac_phy_chainmask_combo[1]
+ * WMI_MAC_PHY_CHAINMASK_CAPABILITY mac_phy_chainmask_caps[num_valid_chainmask1]
+ * // number of chainmasks specified in mac_phy_chainmask_combo[2]
+ * WMI_MAC_PHY_CHAINMASK_CAPABILITY mac_phy_chainmask_caps[num_valid_chainmask2]
+ * etc.
+ */
} WMI_SOC_MAC_PHY_HW_MODE_CAPS;
/*Below are Reg caps per PHY. Please note PHY ID starts with 0.*/
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index d3a9c63e0ea7..9522ac755b33 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_ 352
+#define __WMI_REVISION_ 353
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work