qcacmn: Provide support for avg. phyrate stats
Provide support for average tx and rx phyrate statistics Change-Id: Ib1c2d2c90ca6a8a0f1ac1bc08d9e1f89537cbb4d
This commit is contained in:
@@ -1654,6 +1654,7 @@ struct cdp_delayed_tx_completion_ppdu_user {
|
||||
* @sa_goodput: smart antenna tx feedback info goodput
|
||||
* @current_rate_per: Moving average per
|
||||
* @last_enq_seq: last equeue sequence number
|
||||
* @is_bss_peer: is bss peer check
|
||||
* @mpdu_q: queue of mpdu in a ppdu
|
||||
* @mpdus: MPDU list based on enqueue sequence bitmap
|
||||
* @pending_retries: pending MPDUs (retries)
|
||||
@@ -1751,6 +1752,8 @@ struct cdp_tx_completion_ppdu_user {
|
||||
uint32_t current_rate_per;
|
||||
uint32_t last_enq_seq;
|
||||
|
||||
uint8_t is_bss_peer;
|
||||
|
||||
qdf_nbuf_queue_t mpdu_q;
|
||||
qdf_nbuf_t *mpdus;
|
||||
uint32_t pending_retries;
|
||||
@@ -2054,6 +2057,7 @@ struct cdp_tx_completion_msdu {
|
||||
* @nss: NSS 1,2, ...8
|
||||
* @mcs: MCS index
|
||||
* @user_index: user ID in multi-user case
|
||||
* @is_bss_peer - is bss peer check
|
||||
* @ast_index: ast index in multi-user case
|
||||
* @tid: TID number
|
||||
* @num_msdu: Number of MSDUs in PPDU
|
||||
@@ -2074,7 +2078,8 @@ struct cdp_tx_completion_msdu {
|
||||
* @mpdu_cnt_fcs_ok: Number of MPDUs in PPDU with fcs ok
|
||||
* @mpdu_cnt_fcs_err: Number of MPDUs in PPDU with fcs err
|
||||
* @mpdu_fcs_ok_bitmap - MPDU with fcs ok bitmap
|
||||
* @retried - number of retries
|
||||
* @retries - number of retries
|
||||
* @rx_ratekpbs - rx rate in kbps
|
||||
*/
|
||||
struct cdp_rx_stats_ppdu_user {
|
||||
uint16_t peer_id;
|
||||
@@ -2087,6 +2092,7 @@ struct cdp_rx_stats_ppdu_user {
|
||||
mcs:4;
|
||||
/* user id */
|
||||
uint8_t user_index;
|
||||
uint8_t is_bss_peer;
|
||||
uint32_t ast_index;
|
||||
uint32_t tid;
|
||||
uint32_t num_msdu;
|
||||
@@ -2110,6 +2116,7 @@ struct cdp_rx_stats_ppdu_user {
|
||||
uint32_t mpdu_ok_byte_count;
|
||||
uint32_t mpdu_err_byte_count;
|
||||
uint32_t retries;
|
||||
uint32_t rx_ratekbps;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -3557,6 +3557,7 @@ dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
|
||||
if (!peer)
|
||||
continue;
|
||||
|
||||
ppdu_desc->user[i].is_bss_peer = peer->bss_peer;
|
||||
/*
|
||||
* different frame like DATA, BAR or CTRL has different
|
||||
* tlv bitmap expected. Apart from ACK_BA_STATUS TLV, we
|
||||
|
@@ -301,6 +301,7 @@ dp_rx_populate_cdp_indication_ppdu_user(struct dp_pdev *pdev,
|
||||
rx_stats_peruser->peer_id = HTT_INVALID_PEER;
|
||||
continue;
|
||||
}
|
||||
rx_stats_peruser->is_bss_peer = peer->bss_peer;
|
||||
|
||||
rx_stats_peruser->first_data_seq_ctrl =
|
||||
rx_user_status->first_data_seq_ctrl;
|
||||
@@ -579,6 +580,8 @@ static inline void dp_rx_rate_stats_update(struct dp_peer *peer,
|
||||
DP_STATS_UPD(peer, rx.rnd_avg_rx_rate, ppdu_rx_rate);
|
||||
ppdu->rx_ratekbps = ratekbps;
|
||||
ppdu->rx_ratecode = ratecode;
|
||||
if (ppdu->u.ppdu_type != HAL_RX_TYPE_SU)
|
||||
ppdu_user->rx_ratekbps = ratekbps;
|
||||
|
||||
if (peer->vdev)
|
||||
peer->vdev->stats.rx.last_rx_rate = ratekbps;
|
||||
|
@@ -67,6 +67,7 @@ typedef __in6_addr_t in6_addr_t;
|
||||
#define QDF_IEEE80211_FC0_SUBTYPE_QOS 0x80
|
||||
#define QDF_IEEE80211_FC1_TODS 0x01
|
||||
#define QDF_IEEE80211_FC1_FROMDS 0x02
|
||||
#define QDF_IEEE80211_FC1_PM 0x10
|
||||
|
||||
#define QDF_IEEE80211_FC0_TYPE_MASK 0x0c
|
||||
#define QDF_IEEE80211_FC0_SUBTYPE_MASK 0xf0
|
||||
|
Reference in New Issue
Block a user