qcacmn: Do not update tx rate stats for fixed rate

Update rounded avg rate only for qos tid and if TX is
not at fixed rate.

CRs-Fixed: 3531181
Change-Id: I03a9a2b88b7859bd230672e6ac321d31a71defef
Esse commit está contido em:
aloksing
2023-06-06 14:32:19 +05:30
commit de Rahul Choudhary
commit 754c291a51
2 arquivos alterados com 9 adições e 2 exclusões

Ver arquivo

@@ -2150,6 +2150,7 @@ struct cdp_delayed_tx_completion_ppdu_user {
* @mpdu_bytes: accumulated bytes per mpdu for mem limit feature
* @punc_mode: puncutured mode to indicate punctured bw
* @punc_pattern_bitmap: bitmap indicating punctured pattern
* @fixed_rate_used: flag to indicate fixed rate TX
* @mprot_type: medium protection type
* @msduq_bitmap: msduq bitmap
* @rts_success: rts success
@@ -2257,7 +2258,8 @@ struct cdp_tx_completion_ppdu_user {
uint16_t phy_tx_time_us;
uint32_t mpdu_bytes;
uint8_t punc_mode;
uint16_t punc_pattern_bitmap;
uint32_t punc_pattern_bitmap:16,
fixed_rate_used:1;
uint32_t msduq_bitmap;
uint8_t mprot_type:3,
rts_success:1,

Ver arquivo

@@ -3327,7 +3327,9 @@ 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);
if (!ppdu->fixed_rate_used)
dp_tx_rate_stats_update(peer, ppdu);
dp_pdev_telemetry_stats_update(pdev, ppdu);
dp_peer_stats_notify(pdev, peer);
@@ -3676,6 +3678,8 @@ dp_process_ppdu_stats_user_rate_tlv(struct dp_pdev *pdev,
uint32_t tlv_type = HTT_STATS_TLV_TAG_GET(*tag_buf);
uint8_t bw, ru_format;
uint16_t ru_size;
htt_ppdu_stats_user_rate_tlv *stats_buf =
(htt_ppdu_stats_user_rate_tlv *)tag_buf;
ppdu_desc =
(struct cdp_tx_completion_ppdu *)qdf_nbuf_data(ppdu_info->nbuf);
@@ -3763,6 +3767,7 @@ dp_process_ppdu_stats_user_rate_tlv(struct dp_pdev *pdev,
tag_buf += 2;
ppdu_user_desc->punc_pattern_bitmap =
HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_GET(*tag_buf);
ppdu_user_desc->fixed_rate_used = stats_buf->is_min_rate;
}
/**