qcacmn: Support for per peer UL Airtime metric in ATF stats
Support for per peer Up Link Airtime metric in ATF stats. Change-Id: Ic21239e5d1cbf337c11b35415f555c1f39e07143 CRs-Fixed: 3240833
This commit is contained in:

committed by
Madan Koyyalamudi

parent
68c2b67520
commit
c667bb9d3c
@@ -2248,6 +2248,7 @@ struct cdp_tx_completion_msdu {
|
||||
* @rx_ratekpbs - rx rate in kbps
|
||||
* @rix - rate index
|
||||
* @mpdu_retries - retries of mpdu in rx
|
||||
* @rx_time_us - Rx duration
|
||||
*/
|
||||
struct cdp_rx_stats_ppdu_user {
|
||||
uint16_t peer_id;
|
||||
@@ -2287,6 +2288,7 @@ struct cdp_rx_stats_ppdu_user {
|
||||
uint32_t rx_ratekbps;
|
||||
uint32_t rix;
|
||||
uint32_t mpdu_retries;
|
||||
uint16_t rx_time_us;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -821,29 +821,29 @@ dp_ppdu_desc_user_rx_time_update(struct dp_pdev *pdev,
|
||||
{
|
||||
uint32_t nss_ru_width_sum = 0;
|
||||
struct dp_mon_peer *mon_peer = NULL;
|
||||
uint16_t rx_time_us;
|
||||
|
||||
if (!pdev || !ppdu_desc || !user || !peer)
|
||||
return;
|
||||
|
||||
mon_peer = peer->monitor_peer;
|
||||
if (qdf_unlikely(!mon_peer))
|
||||
return;
|
||||
|
||||
nss_ru_width_sum = ppdu_desc->usr_nss_sum * ppdu_desc->usr_ru_tones_sum;
|
||||
if (!nss_ru_width_sum)
|
||||
nss_ru_width_sum = 1;
|
||||
|
||||
if (ppdu_desc->u.ppdu_type == HAL_RX_TYPE_MU_OFDMA ||
|
||||
ppdu_desc->u.ppdu_type == HAL_RX_TYPE_MU_MIMO) {
|
||||
rx_time_us = (ppdu_desc->duration *
|
||||
user->nss * user->ofdma_ru_width) / nss_ru_width_sum;
|
||||
user->rx_time_us = (ppdu_desc->duration *
|
||||
user->nss * user->ofdma_ru_width) /
|
||||
nss_ru_width_sum;
|
||||
} else {
|
||||
rx_time_us = ppdu_desc->duration;
|
||||
user->rx_time_us = ppdu_desc->duration;
|
||||
}
|
||||
|
||||
mon_peer = peer->monitor_peer;
|
||||
if (qdf_unlikely(!mon_peer))
|
||||
return;
|
||||
|
||||
DP_STATS_INC(mon_peer, airtime_consumption.consumption,
|
||||
rx_time_us);
|
||||
user->rx_time_us);
|
||||
}
|
||||
#else
|
||||
static inline void
|
||||
|
@@ -1767,7 +1767,8 @@ struct wlan_lmac_if_p2p_rx_ops {
|
||||
* @atf_peer_unblk_txtraffic: Unblock peer tx traffic
|
||||
* @atf_set_token_allocated: Set atf token allocated
|
||||
* @atf_set_token_utilized: Set atf token utilized
|
||||
* @atf_process_ppdu_stats: Process PPDU stats to get ATF stats
|
||||
* @atf_process_tx_ppdu_stats: Process Tx PPDU stats to get ATF stats
|
||||
* @atf_process_rx_ppdu_stats: Process Rx PPDU stats to get ATF stats
|
||||
* @atf_is_stats_enabled: Check ATF stats enabled or not
|
||||
*/
|
||||
struct wlan_lmac_if_atf_rx_ops {
|
||||
@@ -1806,7 +1807,9 @@ struct wlan_lmac_if_atf_rx_ops {
|
||||
uint16_t value);
|
||||
void (*atf_set_token_utilized)(struct wlan_objmgr_peer *peer,
|
||||
uint16_t value);
|
||||
void (*atf_process_ppdu_stats)(struct wlan_objmgr_pdev *pdev,
|
||||
void (*atf_process_tx_ppdu_stats)(struct wlan_objmgr_pdev *pdev,
|
||||
qdf_nbuf_t msg);
|
||||
void (*atf_process_rx_ppdu_stats)(struct wlan_objmgr_pdev *pdev,
|
||||
qdf_nbuf_t msg);
|
||||
uint8_t (*atf_is_stats_enabled)(struct wlan_objmgr_pdev *pdev);
|
||||
};
|
||||
|
@@ -212,7 +212,8 @@ wlan_lmac_if_atf_rx_ops_register(struct wlan_lmac_if_rx_ops *rx_ops)
|
||||
atf_rx_ops->atf_peer_unblk_txtraffic = tgt_atf_peer_unblk_txtraffic;
|
||||
atf_rx_ops->atf_set_token_allocated = tgt_atf_set_token_allocated;
|
||||
atf_rx_ops->atf_set_token_utilized = tgt_atf_set_token_utilized;
|
||||
atf_rx_ops->atf_process_ppdu_stats = tgt_atf_process_ppdu_stats;
|
||||
atf_rx_ops->atf_process_tx_ppdu_stats = tgt_atf_process_tx_ppdu_stats;
|
||||
atf_rx_ops->atf_process_rx_ppdu_stats = tgt_atf_process_rx_ppdu_stats;
|
||||
atf_rx_ops->atf_is_stats_enabled = tgt_atf_is_stats_enabled;
|
||||
}
|
||||
#else
|
||||
|
Reference in New Issue
Block a user