Преглед на файлове

qcacmn: Add jitter stats to per tid Object

Add average jitter, average delay, and total success
packet count stats to per TID object.

Change-Id: Ic3ae6d4c090a5fe82e09c085e92cd5eaea4d2056
Aniruddha Paul преди 5 години
родител
ревизия
b869cb0dde
променени са 2 файла, в които са добавени 49 реда и са изтрити 0 реда
  1. 41 0
      dp/wifi3.0/dp_stats.c
  2. 8 0
      dp/wifi3.0/dp_types.h

+ 41 - 0
dp/wifi3.0/dp_stats.c

@@ -5131,6 +5131,45 @@ static void dp_print_nss(char *nss, uint32_t *pnss, uint32_t ss_count)
 	}
 }
 
+/**
+ * dp_print_jitter_stats(): Print per-tid jitter stats
+ * @peer: DP peer object
+ * @pdev: DP pdev object
+ *
+ * Return: void
+ */
+#ifdef WLAN_PEER_JITTER
+static void dp_print_jitter_stats(struct dp_peer *peer, struct dp_pdev *pdev)
+{
+	uint8_t tid = 0;
+
+	if (pdev && !wlan_cfg_get_dp_pdev_nss_enabled(pdev->wlan_cfg_ctx))
+		return;
+
+	DP_PRINT_STATS("Per TID Tx HW Enqueue-Comp Jitter Stats:\n");
+	for (tid = 0; tid < qdf_min(CDP_DATA_TID_MAX, DP_MAX_TIDS); tid++) {
+		struct dp_rx_tid *rx_tid = &peer->rx_tid[tid];
+
+		DP_PRINT_STATS("Node tid = %d\n"
+				"Average Jiiter            : %u (us)\n"
+				"Average Delay             : %u (us)\n"
+				"Total Average error count : %llu\n"
+				"Total Success Count       : %llu\n"
+				"Total Drop                : %llu\n",
+				rx_tid->tid,
+				rx_tid->tx_avg_jitter,
+				rx_tid->tx_avg_delay,
+				rx_tid->tx_avg_err,
+				rx_tid->tx_total_success,
+				rx_tid->tx_drop);
+	}
+}
+#else
+static void dp_print_jitter_stats(struct dp_peer *peer, struct dp_pdev *pdev)
+{
+}
+#endif /* WLAN_PEER_JITTER */
+
 void dp_print_peer_stats(struct dp_peer *peer)
 {
 	uint8_t i;
@@ -5280,6 +5319,8 @@ void dp_print_peer_stats(struct dp_peer *peer)
 	DP_PRINT_STATS("	Data transmitted in last sec: %d",
 		       peer->stats.tx.tx_data_rate);
 
+	dp_print_jitter_stats(peer, pdev);
+
 	DP_PRINT_STATS("Node Rx Stats:");
 	DP_PRINT_STATS("Packets Sent To Stack = %d",
 		       peer->stats.rx.to_stack.num);

+ 8 - 0
dp/wifi3.0/dp_types.h

@@ -600,6 +600,14 @@ struct dp_rx_tid {
 	/* Delba reason code for retries */
 	uint8_t delba_rcode;
 
+#ifdef WLAN_PEER_JITTER
+	/* Tx Jitter stats */
+	uint32_t tx_avg_jitter;
+	uint32_t tx_avg_delay;
+	uint64_t tx_avg_err;
+	uint64_t tx_total_success;
+	uint64_t tx_drop;
+#endif /* WLAN_PEER_JITTER */
 };
 
 /**