qcacmn: Add support for Punctured Preamble PPDU count in tx stats

Add support to update the count of number of Punctured Preamble
PPDU's transmitted by the AP.

Change-Id: Id85a490e9e80566e639f48190a96d3107c6e5c61
CRs-fixed: 2755288
Цей коміт міститься в:
Rhythm Patwa
2020-08-13 19:14:18 -07:00
зафіксовано snandini
джерело 58b018079f
коміт 3a1d8d64f7
5 змінених файлів з 12 додано та 1 видалено

Переглянути файл

@@ -1609,6 +1609,7 @@ struct cdp_delayed_tx_completion_ppdu_user {
* @delayed_ba: delayed ba bit
* @ack_ba_tlv: ack ba recv tlv bit
* @ppdu_type: SU/MU_MIMO/MU_OFDMA/MU_MIMO_OFDMA/UL_TRIG/BURST_BCN/UL_BSR_RESP/
* @pream_punct: Preamble Punctured PPDU
* UL_BSR_TRIG/UNKNOWN
* @ba_seq_no: Block Ack sequence number
* @ba_bitmap: Block Ack bitmap
@@ -1658,7 +1659,8 @@ struct cdp_tx_completion_ppdu_user {
short_retries:4,
tx_ratecode:16,
is_ampdu:1,
ppdu_type:5;
ppdu_type:5,
pream_punct:1;
uint32_t success_bytes;
uint32_t retry_bytes;
uint32_t failed_bytes;

Переглянути файл

@@ -877,6 +877,7 @@ struct protocol_trace_count {
* @tx_byte_rate: Bytes Trasmitted in last one sec
* @tx_data_rate: Data Transmitted in last one sec
* @sgi_count[MAX_GI]: SGI count
* @pream_punct_cnt: Preamble Punctured count
* @nss[SS_COUNT]: Packet count for different num_spatial_stream values
* @bw[MAX_BW]: Packet Count for different bandwidths
* @wme_ac_type[WME_AC_MAX]: Wireless Multimedia type Count
@@ -960,6 +961,7 @@ struct cdp_tx_stats {
uint32_t tx_data_ucast_rate;
struct cdp_pkt_type pkt_type[DOT11_MAX];
uint32_t sgi_count[MAX_GI];
uint32_t pream_punct_cnt;
uint32_t nss[SS_COUNT];

Переглянути файл

@@ -452,6 +452,7 @@ dp_tx_stats_update(struct dp_pdev *pdev, struct dp_peer *peer,
((mcs < (MAX_MCS - 1)) && (preamble == DOT11_AX)));
DP_STATS_INCC(peer, tx.ampdu_cnt, num_msdu, ppdu->is_ampdu);
DP_STATS_INCC(peer, tx.non_ampdu_cnt, num_msdu, !(ppdu->is_ampdu));
DP_STATS_INCC(peer, tx.pream_punct_cnt, 1, ppdu->pream_punct);
dp_peer_stats_notify(pdev, peer);
@@ -2708,6 +2709,8 @@ static void dp_process_ppdu_stats_user_cmpltn_common_tlv(
HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_RTS_SUCCESS_GET(*tag_buf);
ppdu_desc->rts_failure =
HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_RTS_FAILURE_GET(*tag_buf);
ppdu_user_desc->pream_punct =
HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_PREAM_PUNC_TX_GET(*tag_buf);
ppdu_info->compltn_common_tlv++;

Переглянути файл

@@ -589,6 +589,7 @@ static inline void dp_update_pdev_stats(struct dp_pdev *tgtobj,
tgtobj->stats.tx.ofdma += srcobj->tx.ofdma;
tgtobj->stats.tx.stbc += srcobj->tx.stbc;
tgtobj->stats.tx.ldpc += srcobj->tx.ldpc;
tgtobj->stats.tx.pream_punct_cnt += srcobj->tx.pream_punct_cnt;
tgtobj->stats.tx.retries += srcobj->tx.retries;
tgtobj->stats.tx.non_amsdu_cnt += srcobj->tx.non_amsdu_cnt;
tgtobj->stats.tx.amsdu_cnt += srcobj->tx.amsdu_cnt;
@@ -777,6 +778,7 @@ static inline void dp_update_vdev_stats(struct dp_soc *soc,
tgtobj->tx.ofdma += srcobj->stats.tx.ofdma;
tgtobj->tx.stbc += srcobj->stats.tx.stbc;
tgtobj->tx.ldpc += srcobj->stats.tx.ldpc;
tgtobj->tx.pream_punct_cnt += srcobj->stats.tx.pream_punct_cnt;
tgtobj->tx.retries += srcobj->stats.tx.retries;
tgtobj->tx.non_amsdu_cnt += srcobj->stats.tx.non_amsdu_cnt;
tgtobj->tx.amsdu_cnt += srcobj->stats.tx.amsdu_cnt;

Переглянути файл

@@ -5340,6 +5340,8 @@ void dp_print_tx_rates(struct dp_vdev *vdev)
DP_PRINT_STATS("LDPC = %d", pdev->stats.tx.ldpc);
DP_PRINT_STATS("Retries = %d", pdev->stats.tx.retries);
DP_PRINT_STATS("Last ack rssi = %d\n", pdev->stats.tx.last_ack_rssi);
DP_PRINT_STATS("Number of PPDU's with Punctured Preamble = %d",
pdev->stats.tx.pream_punct_cnt);
DP_PRINT_STATS("Aggregation:\n");
DP_PRINT_STATS("Number of Msdu's Part of Ampdus = %d",