Skip to content

Commit

Permalink
Merge b331b8d on remote branch
Browse files Browse the repository at this point in the history
Change-Id: I14b0b63c339ae0f6f559fef72d513cf78e5a3a05
  • Loading branch information
Linux Build Service Account committed Jun 12, 2020
2 parents bee9acd + b331b8d commit 86191a6
Show file tree
Hide file tree
Showing 6 changed files with 439 additions and 21 deletions.
109 changes: 109 additions & 0 deletions fw/htt_stats.h
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,17 @@ enum htt_dbg_ext_stats_type {
*/
HTT_DBG_EXT_STA_11AX_UL_STATS = 33,

/* HTT_DBG_EXT_VDEV_RTT_RESP_STATS
* PARAMS:
* - config_param0:
* [Bit7 : Bit0] vdev_id:8
* [Bit31 : Bit8] rsvd:24
* RESP MSG:
* -
*/
HTT_DBG_EXT_VDEV_RTT_RESP_STATS = 34,


/* keep this last */
HTT_DBG_NUM_EXT_STATS = 256,
};
Expand Down Expand Up @@ -499,6 +510,7 @@ typedef enum {
HTT_STATS_TXBF_OFDMA_BRP_STATS_TAG = 115, /* htt_txbf_ofdma_brp_stats_tlv */
HTT_STATS_TXBF_OFDMA_STEER_STATS_TAG = 116, /* htt_txbf_ofdma_steer_stats_tlv */
HTT_STATS_STA_UL_OFDMA_STATS_TAG = 117, /* htt_sta_ul_ofdma_stats_tlv */
HTT_STATS_VDEV_RTT_RESP_STATS_TAG = 118, /* htt_vdev_rtt_resp_stats_tlv */

HTT_STATS_MAX_TAG,
} htt_tlv_tag_t;
Expand Down Expand Up @@ -759,6 +771,10 @@ typedef struct {
A_UINT32 num_mu_peer_blacklisted;
/* Num of times mu_ofdma seq posted */
A_UINT32 mu_ofdma_seq_posted;
/* Num of times UL MU MIMO seq posted */
A_UINT32 ul_mumimo_seq_posted;
/* Num of times UL OFDMA seq posted */
A_UINT32 ul_ofdma_seq_posted;
} htt_tx_pdev_stats_cmn_tlv;

#define HTT_TX_PDEV_STATS_URRN_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems))
Expand Down Expand Up @@ -2657,6 +2673,9 @@ typedef struct {
A_UINT32 desc_threshold;
A_UINT32 hwsch_tqm_invalid_status;
A_UINT32 missed_tqm_gen_mpdus;
A_UINT32 tqm_active_tids;
A_UINT32 tqm_inactive_tids;
A_UINT32 tqm_active_msduq_flows;
} htt_tx_tqm_cmn_stats_tlv;

typedef struct {
Expand Down Expand Up @@ -3577,6 +3596,8 @@ typedef struct {
#define HTT_RX_PDEV_STATS_NUM_GI_COUNTERS 4
#define HTT_RX_PDEV_STATS_NUM_DCM_COUNTERS 5
#define HTT_RX_PDEV_STATS_NUM_BW_COUNTERS 4
#define HTT_RX_PDEV_STATS_TOTAL_BW_COUNTERS \
(HTT_RX_PDEV_STATS_NUM_BW_EXT_COUNTERS + HTT_RX_PDEV_STATS_NUM_BW_COUNTERS)
#define HTT_RX_PDEV_STATS_NUM_SPATIAL_STREAMS 8
#define HTT_RX_PDEV_STATS_ULMUMIMO_NUM_SPATIAL_STREAMS 8
#define HTT_RX_PDEV_STATS_NUM_PREAMBLE_TYPES HTT_STATS_PREAM_COUNT
Expand Down Expand Up @@ -3882,6 +3903,15 @@ typedef struct {
/* Stats for MCS 12/13 */
A_UINT32 ul_mumimo_rx_mcs_ext[HTT_RX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS];
A_UINT32 ul_mumimo_rx_gi_ext[HTT_RX_PDEV_STATS_NUM_GI_COUNTERS][HTT_RX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS];

/* RSSI in dBm for Rx TB PPDUs */
A_INT8 rx_ul_mumimo_chain_rssi_in_dbm[HTT_RX_PDEV_STATS_ULMUMIMO_NUM_SPATIAL_STREAMS][HTT_RX_PDEV_STATS_TOTAL_BW_COUNTERS];
/* Target RSSI stats for UL MUMIMO triggers. Units dBm */
A_INT8 rx_ul_mumimo_target_rssi[HTT_TX_PDEV_STATS_NUM_UL_MUMIMO_USER_STATS][HTT_RX_PDEV_STATS_NUM_BW_COUNTERS];
/* FD RSSI stats for UL TB PPDUs. Units dBm */
A_INT8 rx_ul_mumimo_fd_rssi[HTT_TX_PDEV_STATS_NUM_UL_MUMIMO_USER_STATS][HTT_RX_PDEV_STATS_ULMUMIMO_NUM_SPATIAL_STREAMS];
/* Pilot EVM Stats */
A_INT8 rx_ulmumimo_pilot_evm_dB_mean[HTT_TX_PDEV_STATS_NUM_UL_MUMIMO_USER_STATS][HTT_RX_PDEV_STATS_ULMUMIMO_NUM_SPATIAL_STREAMS];
} htt_rx_pdev_ul_mumimo_trig_stats_tlv;

/* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_UL_MUMIMO_TRIG_STATS
Expand Down Expand Up @@ -4619,6 +4649,48 @@ typedef struct {
*/
A_UINT32 num_sr_rx_ge_pd_rssi_thr;
};

/*
* Count of number of times OBSS frames were aborted and non-SRG
* opportunities were created. Non-SRG opportunities are created when
* incoming OBSS RSSI is lesser than the global configured non-SRG RSSI
* threshold and non-SRG OBSS color / non-SRG OBSS BSSID registers
* allow non-SRG TX.
*/
A_UINT32 num_non_srg_opportunities;
/*
* Count of number of times TX PPDU were transmitted using non-SRG
* opportunities created. Incoming OBSS frame RSSI is compared with per
* PPDU non-SRG RSSI threshold configured in each PPDU. If incoming OBSS
* RSSI < non-SRG RSSI threshold configured in each PPDU, then non-SRG
* tranmission happens.
*/
A_UINT32 num_non_srg_ppdu_tried;
/*
* Count of number of times non-SRG based TX transmissions were successful
*/
A_UINT32 num_non_srg_ppdu_success;
/*
* Count of number of times OBSS frames were aborted and SRG opportunities
* were created. Srg opportunities are created when incoming OBSS RSSI
* is less than the global configured SRG RSSI threshold and SRC OBSS
* color / SRG OBSS BSSID / SRG partial bssid / SRG BSS color bitmap
* registers allow SRG TX.
*/
A_UINT32 num_srg_opportunities;
/*
* Count of number of times TX PPDU were transmitted using SRG
* opportunities created.
* Incoming OBSS frame RSSI is compared with per PPDU SRG RSSI
* threshold configured in each PPDU.
* If incoming OBSS RSSI < SRG RSSI threshold configured in each PPDU,
* then SRG tranmission happens.
*/
A_UINT32 num_srg_ppdu_tried;
/*
* Count of number of times SRG based TX transmissions were successful
*/
A_UINT32 num_srg_ppdu_success;
} htt_pdev_obss_pd_stats_tlv;

/* NOTE:
Expand Down Expand Up @@ -4674,6 +4746,7 @@ typedef struct {

#define HTT_LATENCY_PROFILE_MAX_HIST 3
#define HTT_STATS_MAX_PROF_STATS_NAME_LEN 32
#define HTT_INTERRUPTS_LATENCY_PROFILE_MAX_HIST 3
typedef struct {
htt_tlv_hdr_t tlv_hdr;
/* print_header:
Expand All @@ -4699,6 +4772,20 @@ typedef struct {
*/
A_UINT32 hist_intvl;
A_UINT32 hist[HTT_LATENCY_PROFILE_MAX_HIST];
A_UINT32 page_fault_max; /* max page faults in any 1 sampling window */
A_UINT32 page_fault_total; /* summed over all sampling windows */
/* ignored_latency_count:
* ignore some of profile latency to avoid avg skewing
*/
A_UINT32 ignored_latency_count;
/* interrupts_max: max interrupts within any single sampling window */
A_UINT32 interrupts_max;
/* interrupts_hist: histogram of interrupt rate
* bin0 contains the number of sampling windows that had 0 interrupts,
* bin1 contains the number of sampling windows that had 1-4 interrupts,
* bin2 contains the number of sampling windows that had > 4 interrupts
*/
A_UINT32 interrupts_hist[HTT_INTERRUPTS_LATENCY_PROFILE_MAX_HIST];
} htt_latency_prof_stats_tlv;

typedef struct {
Expand Down Expand Up @@ -4988,5 +5075,27 @@ typedef struct {
htt_sta_ul_ofdma_stats_tlv ul_ofdma_sta_stats;
} htt_sta_11ax_ul_stats_t;

typedef struct {
htt_tlv_hdr_t tlv_hdr;
/* No of Fine Timing Measurement frames transmitted successfully */
A_UINT32 tx_ftm_suc;
/* No of Fine Timing Measurement frames transmitted successfully after retry */
A_UINT32 tx_ftm_suc_retry;
/* No of Fine Timing Measurement frames not transmitted successfully */
A_UINT32 tx_ftm_fail;
/* No of Fine Timing Measurement Request frames received, including initial, non-initial, and duplicates */
A_UINT32 rx_ftmr_cnt;
/* No of duplicate Fine Timing Measurement Request frames received, including both initial and non-initial */
A_UINT32 rx_ftmr_dup_cnt;
/* No of initial Fine Timing Measurement Request frames received */
A_UINT32 rx_iftmr_cnt;
/* No of duplicate initial Fine Timing Measurement Request frames received */
A_UINT32 rx_iftmr_dup_cnt;
} htt_vdev_rtt_resp_stats_tlv;

typedef struct {
htt_vdev_rtt_resp_stats_tlv vdev_rtt_resp_stats;
} htt_vdev_rtt_resp_stats_t;


#endif /* __HTT_STATS_H__ */
1 change: 1 addition & 0 deletions fw/wmi_services.h
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,7 @@ typedef enum {
WMI_SERVICE_5_DOT_9GHZ_SUPPORT = 247, /* Indicates FW supports new 5.9GHZ (scan, connection and so on) */
WMI_SERVICE_MU_PREAMBLE_PUNCTURE_SUPPORT = 248, /* Indicates FW supports MU preamble puncture */
WMI_SERVICE_SRG_SRP_SPATIAL_REUSE_SUPPORT = 249, /* Support for SRG, SRP based spatial reuse support */
WMI_REQUEST_CTRL_PATH_STATS_REQUEST = 250, /* FW supports control path stats */


/******* ADD NEW SERVICES UP TO 256 HERE *******/
Expand Down
34 changes: 32 additions & 2 deletions fw/wmi_tlv_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -1075,6 +1075,12 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_srg_obss_bssid_enable_bitmap_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_color_enable_bitmap_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_non_srg_obss_bssid_enable_bitmap_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_capability_report_event_fixed_param,
WMITLV_TAG_STRUC_wmi_pmf_bcn_protect_stats,
WMITLV_TAG_STRUC_wmi_nan_capabilities,
WMITLV_TAG_STRUC_wmi_request_ctrl_path_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_ctrl_path_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_stats_struct,
} WMITLV_TAG_ID;

/*
Expand Down Expand Up @@ -1519,6 +1525,7 @@ typedef enum {
OP(WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID) \
OP(WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID) \
OP(WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID) \
OP(WMI_REQUEST_CTRL_PATH_STATS_CMDID) \
/* add new CMD_LIST elements above this line */


Expand Down Expand Up @@ -1768,6 +1775,8 @@ typedef enum {
OP(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID) \
OP(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID) \
OP(WMI_PDEV_SSCAN_FW_PARAM_EVENTID) \
OP(WMI_ROAM_CAPABILITY_REPORT_EVENTID) \
OP(WMI_CTRL_PATH_STATS_EVENTID) \
/* add new EVT_LIST elements above this line */


Expand Down Expand Up @@ -3986,6 +3995,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_WLAN_STATS_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_peer_stats_info_cmd_fixed_param, wmi_request_peer_stats_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_PEER_STATS_INFO_CMDID);

/* Request Control Path stats info cmd */
#define WMITLV_TABLE_WMI_REQUEST_CTRL_PATH_STATS_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_ctrl_path_stats_cmd_fixed_param, wmi_request_ctrl_path_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, pdev_ids, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_ids, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, mac_addr_list, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_CTRL_PATH_STATS_CMDID);

/* Host sets the current country code */
#define WMITLV_TABLE_WMI_SET_CURRENT_COUNTRY_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_current_country_cmd_fixed_param, wmi_set_current_country_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
Expand Down Expand Up @@ -4456,7 +4473,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_DMA_RING_CAPABILITIES, dma_ring_caps, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_spectral_bin_scaling_params, wmi_bin_scaling_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CAPABILITIES_EXT, mac_phy_caps, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HAL_REG_CAPABILITIES_EXT2, hal_reg_caps, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_HAL_REG_CAPABILITIES_EXT2, hal_reg_caps, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_capabilities, wmi_nan_capabilities, nan_cap, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID);

#define WMITLV_TABLE_WMI_CHAN_RF_CHARACTERIZATION_INFO_EVENTID(id,op,buf,len) \
Expand Down Expand Up @@ -4914,7 +4932,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_HOST_SWFDA_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_per_chain_rssi_stats, wmi_per_chain_rssi_stats, chain_stats, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_rssi_stats, rssi_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_congestion_stats, congestion_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_extd2_stats, peer_extd2_stats, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_extd2_stats, peer_extd2_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pmf_bcn_protect_stats, pmf_bcn_protect_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_UPDATE_STATS_EVENTID);

/* Update PN response Event */
Expand Down Expand Up @@ -5719,6 +5738,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_stats_info, peer_stats_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);

/* Update Control Path stats event */
#define WMITLV_TABLE_WMI_CTRL_PATH_STATS_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ctrl_path_stats_event_fixed_param, wmi_ctrl_path_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_pdev_stats_struct, ctrl_path_pdev_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);

#define WMITLV_TABLE_WMI_RADIO_CHAN_STATS_EVENTID(id, op, buf, len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_radio_chan_stats_event_fixed_param, wmi_radio_chan_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_radio_chan_stats, radio_chan_stats, WMITLV_SIZE_VAR)
Expand Down Expand Up @@ -5933,6 +5958,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_fft_bin_index, fft_bin_index, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SSCAN_FW_PARAM_EVENTID);

/* Roam capability report event */
#define WMITLV_TABLE_WMI_ROAM_CAPABILITY_REPORT_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_capability_report_event_fixed_param, wmi_roam_capability_report_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_CAPABILITY_REPORT_EVENTID);


#ifdef __cplusplus
}
Expand Down
Loading

0 comments on commit 86191a6

Please sign in to comment.