diff --git a/target/inc/wmi_tlv_defs.h b/target/inc/wmi_tlv_defs.h index 0eb0db37ec..67aca0095f 100644 --- a/target/inc/wmi_tlv_defs.h +++ b/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. diff --git a/target/inc/wmi_unified.h b/target/inc/wmi_unified.h index 16e42eb091..15613d5a03 100644 --- a/target/inc/wmi_unified.h +++ b/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 { diff --git a/target/inc/wmi_version.h b/target/inc/wmi_version.h index 21a817fcf3..fe823fb7a7 100644 --- a/target/inc/wmi_version.h +++ b/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