summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimanshu Agarwal <himanaga@codeaurora.org>2016-09-01 14:12:12 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-09-08 14:29:41 +0530
commit074faf02ac13db9b139f5ea3efeabf14542ccb59 (patch)
tree9cffe1c3a226679e1a254f4d127911b65384a73c
parentab90d6218b82d3561e06f7e5e7ded5bf493dafe6 (diff)
qcacld-2.0: CL 1623350 - update fw common interface files
Add HW mode config type in HW mode capabilities. Add max MU beamformee field to supported flags in MAC_PHY_CAPABILITIES. Change-Id: I015c31dbbff9d180c6338032ab03ec025d32ba55 CRs-fixed: 865207
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h14
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h32
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
3 files changed, 39 insertions, 9 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 777ade40830a..97bf94ee407a 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -3884,8 +3884,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID);
* A_UINT32 tx_mpdu_aggr[][][]; Array size is num_peer_ac_tx_stats * WLAN_MAX_AC * tx_mpdu_aggr_array_size,
* array index is (peer_index * WLAN_MAX_AC + ac_index) * tx_mpdu_aggr_array_size + A-MPDU size index
* Contains a histogram of how many A-MPDUs of a given size (i.e. number of MPDUs) have been transmitted.
- * Element 0 contains the count of PPDUs containing a single MPDU, element 1 counts PPDUs containing 2 MPDUs, etc.
- * Element tx_mpdu_aggr_array_size-1 contains the histogram count for A-MPDUs of size >= tx_mpdu_aggr_array_size.
+ * Element 0 contains the number of MPDUs within a single-MPDU A-MPDU.
+ * Element 1 contains the number of MPDUs within a 2-MPDU A-MPDU (number of A-MPDUs x2).
+ * Element 2 contains the number of MPDUs within a 3-MPDU A-MPDU (number of A-MPDUs x3).
+ * Element tx_mpdu_aggr_array_size-1 contains the number of MPDUs within A-MPDUs with >= tx_mpdu_aggr_array_size MPDUs.
* A_UINT32 tx_msdu_acked_mcs[][][]; Array size is num_peer_ac_tx_stats * WLAN_MAX_AC * tx_msdu_acked_mcs_array_size,
* array index is (peer_index * WLAN_MAX_AC + ac_index) * tx_msdu_acked_mcs_array_size + MCS index
* Contains a count of how many tx MSDUs have been acked for each MCS of each AC of each peer.
@@ -3894,7 +3896,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID);
* Contains a count of how many MSDUs failed tx due to no ack for each MCS of each AC of each peer.
* A_UINT32 tx_msdu_delay[][][]; Array size is num_peer_ac_tx_stats * WLAN_MAX_AC * tx_msdu_delay_array_size,
* array index is (peer_index * WLAN_MAX_AC + ac_index) * tx_msdu_delay_array_size + delay index
- * Contains a histogram of how many MSDUs encountered each level of delay due to retries.
+ * Contains a histogram of how many MSDUs encountered each level of delay due to retries or air interface contention.
* The time represented by each array element (i.e. histogram bin) is specified by tx_delay_bin_size_ms.
* Element 0 contains the count of MSDUs delayed by less than tx_delay_bin_size_ms.
* Element 1 contains the count of MSDUs delayed by more than 1x tx_delay_bin_size_ms but less than 2x.
@@ -3905,8 +3907,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID);
* A_UINT32 rx_mpdu_aggr[][][]; Array size is num_peer_ac_rx_stats * WLAN_MAX_AC * rx_mpdu_aggr_array_size,
* array index is (peer_index * WLAN_MAX_AC + ac_index) * rx_mpdu_aggr_array_size + A-MPDU size index
* Contains a histogram of how many A-MPDUs of a given size (i.e. number of MPDUs) have been received.
- * Element 0 contains the count of PPDUs containing a single MPDU, element 1 counts PPDUs containing 2 MPDUs, etc.
- * Element rx_mpdu_aggr_array_size-1 contains the histogram count for A-MPDUs of size >= rx_mpdu_aggr_array_size.
+ * Element 0 contains the number of MPDUs within a single-MPDU A-MPDU.
+ * Element 1 contains the number of MPDUs within a 2-MPDU A-MPDU (number of A-MPDUs x2).
+ * Element 2 contains the number of MPDUs within a 3-MPDU A-MPDU (number of A-MPDUs x3).
+ * Element rx_mpdu_aggr_array_size-1 contains the number of MPDUs within A-MPDUs with >= rx_mpdu_aggr_array_size MPDUs.
* A_UINT32 rx_msdu_mcs[][][]; Array size is (num_peer_ac_rx_stats * WLAN_MAX_AC) * rx_msdu_mcs_array_size,
* array index is (peer_index * WLAN_MAX_AC + ac_index) * rx_msdu_mcs_array_size + MCS index
* Contains a count of rx MSDUs for each MCS of each AC of each peer.
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 6fb3f53556af..49cca940da78 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -4911,7 +4911,11 @@ typedef struct
*/
typedef struct
{
- A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_signal_stats */
+ /**
+ * TLV tag and len; tag equals
+ * WMITLV_TAG_STRUC_wmi_peer_signal_stats_thresh
+ */
+ A_UINT32 tlv_header;
A_UINT32 per_ant_snr; /* units = dB */
A_UINT32 nf; /* units = dBm */
} wmi_peer_signal_stats_thresh;
@@ -15851,6 +15855,14 @@ typedef enum {
WLAN_5G_CAPABILITY = 0x2,
} WLAN_BAND_CAPABILITY;
+typedef enum wmi_hw_mode_config_type {
+ WMI_HW_MODE_SINGLE = 0,
+ WMI_HW_MODE_DBS = 1,
+ WMI_HW_MODE_SBS_PASSIVE = 2,
+ WMI_HW_MODE_SBS = 3,
+ WMI_HW_MODE_DBS_SBS = 4,
+} WMI_HW_MODE_CONFIG_TYPE;
+
#define WMI_SUPPORT_11B_GET(flags) WMI_GET_BITS(flags, 0, 1)
#define WMI_SUPPORT_11B_SET(flags, value) WMI_SET_BITS(flags, 0, 1, value)
@@ -15869,6 +15881,9 @@ typedef enum {
#define WMI_SUPPORT_11AX_GET(flags) WMI_GET_BITS(flags, 5, 1)
#define WMI_SUPPORT_11AX_SET(flags, value) WMI_SET_BITS(flags, 5, 1, value)
+#define WMI_MAX_MUBFEE_GET(flags) WMI_GET_BITS(flags, 28, 4)
+#define WMI_MAX_MUBFEE_SET(flags, value) WMI_SET_BITS(flags, 28, 4, value)
+
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CAPABILITIES */
/* hw_mode_id - identify a particular set of HW characteristics, as specified
@@ -15881,7 +15896,7 @@ typedef struct {
A_UINT32 pdev_id;
/* phy id. Starts with 0 */
A_UINT32 phy_id;
- /* supported modulations */
+ /* supported modulations and number of MU beamformees */
union {
struct {
A_UINT32 supports_11b:1,
@@ -15889,7 +15904,12 @@ typedef struct {
supports_11a:1,
supports_11n:1,
supports_11ac:1,
- supports_11ax:1;
+ supports_11ax:1,
+
+ unused:22,
+
+ /* max MU beamformees supported per MAC */
+ max_mubfee:4;
};
A_UINT32 supported_flags;
};
@@ -15953,6 +15973,12 @@ typedef struct {
* one for each active PHY for current HW mode identified by hw_mode_id. For example for
* DBS/SBS mode there will be 2 WMI_MAC_PHY_CAPABILITIES TLVs and for single MAC modes it
* will be 1 WMI_MAC_PHY_CAPABILITIES TLVs */
+ /**
+ * hw_mode_config_type
+ * Identify a particular type of HW mode such as SBS, DBS etc.
+ * Refer to WMI_HW_MODE_CONFIG_TYPE values.
+ */
+ A_UINT32 hw_mode_config_type;
} WMI_HW_MODE_CAPABILITIES;
typedef struct {
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index 3c7e47da9bc3..207d8de258d2 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_ 288
+#define __WMI_REVISION_ 289
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work