Ver Fonte

qcacmn: Add support to fetch PER

Add support to fetch PER from peer stats.

Change-Id: Ia7cf8913238ab5b56d5f049cf9d511318ca5d165
CRs-Fixed: 3284395
Ripan Deuri há 2 anos atrás
pai
commit
04dd6c626a
2 ficheiros alterados com 21 adições e 0 exclusões
  1. 2 0
      dp/inc/cdp_txrx_stats_struct.h
  2. 19 0
      dp/wifi3.0/dp_main.c

+ 2 - 0
dp/inc/cdp_txrx_stats_struct.h

@@ -1400,6 +1400,7 @@ struct protocol_trace_count {
  * @punc_bw[MAX_PUNCTURED_MODE]: MSDU count for punctured BW
  * @release_src_not_tqm: Counter to keep track of release source is not TQM
  *			 in TX completion status processing
+ * @per: Packet error ratio
  */
 struct cdp_tx_stats {
 	struct cdp_pkt_info comp_pkt;
@@ -1518,6 +1519,7 @@ struct cdp_tx_stats {
 	uint32_t punc_bw[MAX_PUNCTURED_MODE];
 #endif
 	uint32_t release_src_not_tqm;
+	uint32_t per;
 };
 
 /* struct cdp_rx_stats - rx Level Stats

+ 19 - 0
dp/wifi3.0/dp_main.c

@@ -9792,6 +9792,23 @@ void dp_get_peer_extd_stats(struct dp_peer *peer,
 }
 #endif
 
+/**
+ * dp_get_peer_tx_per()- Get peer packet error ratio
+ * @peer_stats: buffer for peer stats
+ *
+ * Return: none
+ */
+static inline
+void dp_get_peer_tx_per(struct cdp_peer_stats *peer_stats)
+{
+	if (peer_stats->tx.tx_success.num + peer_stats->tx.retries > 0)
+		peer_stats->tx.per = (peer_stats->tx.retries * 100) /
+				  (peer_stats->tx.tx_success.num +
+				   peer_stats->tx.retries);
+	else
+		peer_stats->tx.per = 0;
+}
+
 /**
  * dp_get_peer_stats()- Get peer stats
  * @peer: Datapath peer
@@ -9809,6 +9826,8 @@ void dp_get_peer_stats(struct dp_peer *peer, struct cdp_peer_stats *peer_stats)
 	dp_get_peer_per_pkt_stats(peer, peer_stats);
 
 	dp_get_peer_extd_stats(peer, peer_stats);
+
+	dp_get_peer_tx_per(peer_stats);
 }
 
 /*