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
This commit is contained in:
@@ -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)
|
void dp_print_peer_stats(struct dp_peer *peer)
|
||||||
{
|
{
|
||||||
uint8_t i;
|
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",
|
DP_PRINT_STATS(" Data transmitted in last sec: %d",
|
||||||
peer->stats.tx.tx_data_rate);
|
peer->stats.tx.tx_data_rate);
|
||||||
|
|
||||||
|
dp_print_jitter_stats(peer, pdev);
|
||||||
|
|
||||||
DP_PRINT_STATS("Node Rx Stats:");
|
DP_PRINT_STATS("Node Rx Stats:");
|
||||||
DP_PRINT_STATS("Packets Sent To Stack = %d",
|
DP_PRINT_STATS("Packets Sent To Stack = %d",
|
||||||
peer->stats.rx.to_stack.num);
|
peer->stats.rx.to_stack.num);
|
||||||
|
@@ -600,6 +600,14 @@ struct dp_rx_tid {
|
|||||||
/* Delba reason code for retries */
|
/* Delba reason code for retries */
|
||||||
uint8_t delba_rcode;
|
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 */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user