qcacmn: Ext stats optmization , CNE stats
Change Ext stats for msdu_missed to reflect reo error. Update EXT stats transmit enqueue failure value to reflect enqueue errors on all transmit rings. Change-Id: I532b2b0adaa3216809978e3d558a3b11e5bc8eb6 CRs-Fixed: 3115517
This commit is contained in:

committed by
Madan Koyyalamudi

parent
28ecc1a2f1
commit
acd531729d
@@ -12438,6 +12438,8 @@ dp_txrx_ext_stats_request(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
|
|||||||
{
|
{
|
||||||
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
struct dp_soc *soc = (struct dp_soc *)soc_hdl;
|
||||||
struct dp_pdev *pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
|
struct dp_pdev *pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
|
||||||
|
int i = 0;
|
||||||
|
int tcl_ring_full = 0;
|
||||||
|
|
||||||
if (!pdev) {
|
if (!pdev) {
|
||||||
dp_err("pdev is null");
|
dp_err("pdev is null");
|
||||||
@@ -12446,14 +12448,27 @@ dp_txrx_ext_stats_request(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
|
|||||||
|
|
||||||
dp_aggregate_pdev_stats(pdev);
|
dp_aggregate_pdev_stats(pdev);
|
||||||
|
|
||||||
|
for(i = 0 ; i < MAX_TCL_DATA_RINGS; i++)
|
||||||
|
tcl_ring_full += soc->stats.tx.tcl_ring_full[i];
|
||||||
|
|
||||||
req->tx_msdu_enqueue = pdev->stats.tx_i.processed.num;
|
req->tx_msdu_enqueue = pdev->stats.tx_i.processed.num;
|
||||||
req->tx_msdu_overflow = pdev->stats.tx_i.dropped.ring_full;
|
req->tx_msdu_overflow = tcl_ring_full;
|
||||||
req->rx_mpdu_received = soc->ext_stats.rx_mpdu_received;
|
req->rx_mpdu_received = soc->ext_stats.rx_mpdu_received;
|
||||||
req->rx_mpdu_delivered = soc->ext_stats.rx_mpdu_received;
|
req->rx_mpdu_delivered = soc->ext_stats.rx_mpdu_received;
|
||||||
req->rx_mpdu_missed = soc->ext_stats.rx_mpdu_missed;
|
req->rx_mpdu_missed = pdev->stats.err.reo_error;
|
||||||
/* only count error source from RXDMA */
|
/* only count error source from RXDMA */
|
||||||
req->rx_mpdu_error = pdev->stats.err.rxdma_error;
|
req->rx_mpdu_error = pdev->stats.err.rxdma_error;
|
||||||
|
|
||||||
|
dp_info("ext stats: tx_msdu_enq = %u, tx_msdu_overflow = %u, "
|
||||||
|
"tx_mpdu_recieve = %u, rx_mpdu_delivered = %u, "
|
||||||
|
"rx_mpdu_missed = %u, rx_mpdu_error = %u",
|
||||||
|
req->tx_msdu_enqueue,
|
||||||
|
req->tx_msdu_overflow,
|
||||||
|
req->rx_mpdu_received,
|
||||||
|
req->rx_mpdu_delivered,
|
||||||
|
req->rx_mpdu_missed,
|
||||||
|
req->rx_mpdu_error);
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -12548,7 +12563,6 @@ dp_request_rx_hw_stats(struct cdp_soc_t *soc_hdl, uint8_t vdev_id)
|
|||||||
last_rx_mpdu_received = soc->ext_stats.rx_mpdu_received;
|
last_rx_mpdu_received = soc->ext_stats.rx_mpdu_received;
|
||||||
last_rx_mpdu_missed = soc->ext_stats.rx_mpdu_missed;
|
last_rx_mpdu_missed = soc->ext_stats.rx_mpdu_missed;
|
||||||
soc->ext_stats.rx_mpdu_received = 0;
|
soc->ext_stats.rx_mpdu_received = 0;
|
||||||
soc->ext_stats.rx_mpdu_missed = 0;
|
|
||||||
|
|
||||||
rx_stats_sent_cnt =
|
rx_stats_sent_cnt =
|
||||||
dp_peer_rxtid_stats(peer, dp_rx_hw_stats_cb, rx_hw_stats);
|
dp_peer_rxtid_stats(peer, dp_rx_hw_stats_cb, rx_hw_stats);
|
||||||
|
Reference in New Issue
Block a user