qcacmn: Correct computation of tx.tx_rate and tx.last_tx_rate
Correct computation of tx.tx_rate and tx.last_tx_rate in Tx HTT PPDU completion path. Change-Id: I8dcc4913c651a2c90e0f1d153e4e09f02d7403d4 CRs-Fixed: 3167357
Cette révision appartient à :

révisé par
Madan Koyyalamudi

Parent
1a6feacd14
révision
c41c8f1d8c
@@ -3487,7 +3487,7 @@ struct dp_peer_per_pkt_tx_stats {
|
||||
* @tx_ppdus: ppdus in tx
|
||||
* @tx_mpdus_success: mpdus successful in tx
|
||||
* @tx_mpdus_tried: mpdus tried in tx
|
||||
* @tx_rate: Tx Rate
|
||||
* @tx_rate: Tx Rate in kbps
|
||||
* @last_tx_rate: Last tx rate for unicast packets
|
||||
* @last_tx_rate_mcs: Tx rate mcs for unicast packets
|
||||
* @mcast_last_tx_rate: Last tx rate for multicast packets
|
||||
|
@@ -2432,8 +2432,6 @@ dp_tx_rate_stats_update(struct dp_peer *peer,
|
||||
&rix,
|
||||
&ratecode);
|
||||
|
||||
DP_STATS_UPD(mon_peer, tx.last_tx_rate, ratekbps);
|
||||
|
||||
if (!ratekbps)
|
||||
return;
|
||||
|
||||
@@ -2448,6 +2446,7 @@ dp_tx_rate_stats_update(struct dp_peer *peer,
|
||||
ppdu->rix = rix;
|
||||
ppdu->tx_ratekbps = ratekbps;
|
||||
ppdu->tx_ratecode = ratecode;
|
||||
DP_STATS_UPD(mon_peer, tx.tx_rate, ratekbps);
|
||||
mon_peer->stats.tx.avg_tx_rate =
|
||||
dp_ath_rate_lpf(mon_peer->stats.tx.avg_tx_rate, ratekbps);
|
||||
ppdu_tx_rate = dp_ath_rate_out(mon_peer->stats.tx.avg_tx_rate);
|
||||
@@ -2628,6 +2627,7 @@ dp_tx_stats_update(struct dp_pdev *pdev, struct dp_peer *peer,
|
||||
struct dp_mon_ops *mon_ops;
|
||||
enum cdp_ru_index ru_index;
|
||||
struct dp_mon_peer *mon_peer = NULL;
|
||||
uint32_t ratekbps = 0;
|
||||
|
||||
preamble = ppdu->preamble;
|
||||
mcs = ppdu->mcs;
|
||||
@@ -2701,7 +2701,6 @@ dp_tx_stats_update(struct dp_pdev *pdev, struct dp_peer *peer,
|
||||
DP_STATS_INC(mon_peer, tx.transmit_type[ppdu->ppdu_type].mpdu_tried,
|
||||
mpdu_tried);
|
||||
|
||||
DP_STATS_UPD(mon_peer, tx.tx_rate, ppdu->tx_rate);
|
||||
DP_STATS_INC(mon_peer, tx.sgi_count[ppdu->gi], num_msdu);
|
||||
DP_STATS_INC(mon_peer, tx.bw[ppdu->bw], num_msdu);
|
||||
DP_STATS_INC(mon_peer, tx.nss[ppdu->nss], num_msdu);
|
||||
@@ -2754,8 +2753,13 @@ dp_tx_stats_update(struct dp_pdev *pdev, struct dp_peer *peer,
|
||||
if (mon_ops && mon_ops->mon_tx_stats_update)
|
||||
mon_ops->mon_tx_stats_update(mon_peer, ppdu);
|
||||
|
||||
dp_tx_rate_stats_update(peer, ppdu);
|
||||
|
||||
dp_peer_stats_notify(pdev, peer);
|
||||
|
||||
ratekbps = mon_peer->stats.tx.tx_rate;
|
||||
DP_STATS_UPD(mon_peer, tx.last_tx_rate, ratekbps);
|
||||
|
||||
dp_send_stats_event(pdev, peer, ppdu->peer_id);
|
||||
}
|
||||
|
||||
@@ -4056,7 +4060,6 @@ dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
|
||||
dp_tx_stats_update(pdev, peer,
|
||||
&ppdu_desc->user[i],
|
||||
ppdu_desc->ack_rssi);
|
||||
dp_tx_rate_stats_update(peer, &ppdu_desc->user[i]);
|
||||
}
|
||||
|
||||
dp_ppdu_desc_user_phy_tx_time_update(pdev, ppdu_desc,
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur