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
Цей коміт міститься в:
@@ -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",
|
||||
|
Посилання в новій задачі
Заблокувати користувача