Sfoglia il codice sorgente

qcacmn: Fix statistics counters

1. Account for total Tx completions received on wbm2sw release ring.
2. Avoid multiple updates to invalid peer counter on
   wbm error path handling.

Change-Id: I904208e1bd83e98598870a1f05c4b17c3fb20e2d
CRs-Fixed: 2366790
Venkata Sharath Chandra Manchala 6 anni fa
parent
commit
ec9a530bc0
3 ha cambiato i file con 6 aggiunte e 6 eliminazioni
  1. 5 3
      dp/wifi3.0/dp_main.c
  2. 0 2
      dp/wifi3.0/dp_rx.c
  3. 1 1
      dp/wifi3.0/dp_tx.c

+ 5 - 3
dp/wifi3.0/dp_main.c

@@ -6236,6 +6236,7 @@ static inline void
 dp_print_pdev_tx_stats(struct dp_pdev *pdev)
 {
 	uint8_t index = 0;
+
 	DP_PRINT_STATS("PDEV Tx Stats:\n");
 	DP_PRINT_STATS("Received From Stack:");
 	DP_PRINT_STATS("	Packets = %d",
@@ -6361,6 +6362,7 @@ dp_print_pdev_tx_stats(struct dp_pdev *pdev)
 		DP_PRINT_STATS("	Tag[%d] = %llu", index,
 				pdev->stats.ppdu_stats_counter[index]);
 	}
+
 }
 
 /**
@@ -6482,7 +6484,7 @@ dp_print_soc_tx_stats(struct dp_soc *soc)
 
 	DP_PRINT_STATS("Tx Descriptors In Use = %d",
 			soc->stats.tx.desc_in_use);
-	DP_PRINT_STATS("Invalid peer:");
+	DP_PRINT_STATS("Tx Invalid peer:");
 	DP_PRINT_STATS("	Packets = %d",
 			soc->stats.tx.tx_invalid_peer.num);
 	DP_PRINT_STATS("	Bytes = %llu",
@@ -8381,7 +8383,7 @@ static void dp_txrx_path_stats(struct dp_soc *soc)
 			       pdev->stats.tx.dropped.fw_rem_tx);
 		DP_TRACE_STATS(INFO_HIGH, "firmware removed notx %u",
 			       pdev->stats.tx.dropped.fw_rem_notx);
-		DP_TRACE_STATS(INFO_HIGH, "peer_invalid: %u",
+		DP_TRACE_STATS(INFO_HIGH, "Invalid peer on tx path: %u",
 			       pdev->soc->stats.tx.tx_invalid_peer.num);
 
 		DP_TRACE_STATS(INFO_HIGH, "Tx packets sent per interrupt:");
@@ -8427,7 +8429,7 @@ static void dp_txrx_path_stats(struct dp_soc *soc)
 			       pdev->stats.rx.raw.bytes);
 		DP_TRACE_STATS(INFO_HIGH, "dropped: error %u msdus",
 			       pdev->stats.rx.err.mic_err);
-		DP_TRACE_STATS(INFO_HIGH, "peer invalid %u",
+		DP_TRACE_STATS(INFO_HIGH, "Invalid peer on rx path: %u",
 			       pdev->soc->stats.rx.err.rx_invalid_peer.num);
 
 		DP_TRACE_STATS(INFO_HIGH, "Reo Statistics");

+ 0 - 2
dp/wifi3.0/dp_rx.c

@@ -895,8 +895,6 @@ free:
 	curr_nbuf = mpdu;
 	while (curr_nbuf) {
 		next_nbuf = qdf_nbuf_next(curr_nbuf);
-		DP_STATS_INC_PKT(soc, rx.err.rx_invalid_peer, 1,
-				 qdf_nbuf_len(curr_nbuf));
 		qdf_nbuf_free(curr_nbuf);
 		curr_nbuf = next_nbuf;
 	}

+ 1 - 1
dp/wifi3.0/dp_tx.c

@@ -2655,6 +2655,7 @@ dp_tx_update_peer_stats(struct dp_peer *peer,
 		return;
 	}
 
+	DP_STATS_INC_PKT(peer, tx.comp_pkt, 1, length);
 	DP_STATS_INCC(peer, tx.dropped.age_out, 1,
 		     (ts->status == HAL_TX_TQM_RR_REM_CMD_AGED));
 
@@ -2679,7 +2680,6 @@ dp_tx_update_peer_stats(struct dp_peer *peer,
 	if (ts->status != HAL_TX_TQM_RR_FRAME_ACKED) {
 		return;
 	}
-
 	DP_STATS_INCC(peer, tx.ofdma, 1, ts->ofdma);
 
 	DP_STATS_INCC(peer, tx.amsdu_cnt, 1, ts->msdu_part_of_amsdu);