瀏覽代碼

qcacld-3.0: CL 1623350 - update fw common interface files

Propagation from qcacld-2.0 to qcacld-3.0.

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
Himanshu Agarwal 8 年之前
父節點
當前提交
2f4f530f78
共有 3 個文件被更改,包括 39 次插入9 次删除
  1. 9 5
      target/inc/wmi_tlv_defs.h
  2. 29 3
      target/inc/wmi_unified.h
  3. 1 1
      target/inc/wmi_version.h

+ 9 - 5
target/inc/wmi_tlv_defs.h

@@ -3886,8 +3886,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.
@@ -3896,7 +3898,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.
@@ -3907,8 +3909,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.

+ 29 - 3
target/inc/wmi_unified.h

@@ -5169,7 +5169,11 @@ typedef struct {
  *  Check wmi_peer_signal_stats for each stats's meaning.
  */
 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;
@@ -16743,6 +16747,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)
 
@@ -16761,6 +16773,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 {
 	/*
 	 * TLV tag and len; tag equals
@@ -16783,7 +16798,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,
@@ -16791,7 +16806,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;
 	};
@@ -16876,6 +16896,12 @@ typedef struct {
 	 * 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 {

+ 1 - 1
target/inc/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