mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
qcacmn: Added rx errors and dropped stats
Rx dma error and reo error are accumulated at pdev level. Rx error consists of: - desc_alloc_failure [No free desc available] - csum error [IP/TCP_UDP] - mic_err - rx_dma_error - reo_error Rx dropped consists of: - msdu_not_done - mec - mesh_filter - wifi_parse - non_rx_drop - non_radiotap_update_err Change-Id: I4166a32ce94630e8a3ccad7a2551eedf9493e292 CRs-Fixed: 2499563
This commit is contained in:
parent
1689951601
commit
1c69ca1112
4 changed files with 36 additions and 3 deletions
|
|
@ -1398,6 +1398,7 @@ struct cdp_tx_completion_ppdu {
|
|||
* @rx_packets: Rx total packets transmitted
|
||||
* @rx_bytes : Rx total bytes transmitted
|
||||
* @rx_errors : Rx erros
|
||||
* @rx_dropped: Rx dropped stats
|
||||
*/
|
||||
struct cdp_dev_stats {
|
||||
uint32_t tx_packets;
|
||||
|
|
@ -1407,6 +1408,7 @@ struct cdp_dev_stats {
|
|||
uint32_t rx_packets;
|
||||
uint32_t rx_bytes;
|
||||
uint32_t rx_errors;
|
||||
uint32_t rx_dropped;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1282,6 +1282,8 @@ struct cdp_pdev_stats {
|
|||
uint32_t desc_alloc_fail;
|
||||
uint32_t ip_csum_err;
|
||||
uint32_t tcp_udp_csum_err;
|
||||
uint32_t rxdma_error;
|
||||
uint32_t reo_error;
|
||||
} err;
|
||||
|
||||
uint32_t buf_freelist;
|
||||
|
|
|
|||
|
|
@ -6845,9 +6845,16 @@ static void dp_pdev_getstats(void *pdev_handle,
|
|||
stats->rx_errors = pdev->stats.err.desc_alloc_fail +
|
||||
pdev->stats.err.ip_csum_err +
|
||||
pdev->stats.err.tcp_udp_csum_err +
|
||||
pdev->stats.rx.err. mic_err +
|
||||
pdev->stats.rx.err. decrypt_err +
|
||||
pdev->stats.rx.err. fcserr;
|
||||
pdev->stats.rx.err.mic_err +
|
||||
pdev->stats.rx.err.decrypt_err +
|
||||
pdev->stats.err.rxdma_error +
|
||||
pdev->stats.err.reo_error;
|
||||
stats->rx_dropped = pdev->stats.dropped.msdu_not_done +
|
||||
pdev->stats.dropped.mec +
|
||||
pdev->stats.dropped.mesh_filter +
|
||||
pdev->stats.dropped.wifi_parse +
|
||||
pdev->stats.dropped.mon_rx_drop +
|
||||
pdev->stats.dropped.mon_radiotap_update_err;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1223,6 +1223,10 @@ dp_rx_err_process(struct dp_intr *int_ctx, struct dp_soc *soc,
|
|||
rx.err.
|
||||
reo_error[HAL_REO_ERR_PN_CHECK_FAILED],
|
||||
1);
|
||||
/* increment @pdev level */
|
||||
dp_pdev = dp_get_pdev_for_mac_id(soc, mac_id);
|
||||
if (dp_pdev)
|
||||
DP_STATS_INC(dp_pdev, err.reo_error, 1);
|
||||
count = dp_rx_pn_error_handle(soc,
|
||||
ring_desc,
|
||||
&mpdu_desc_info, &mac_id,
|
||||
|
|
@ -1238,6 +1242,10 @@ dp_rx_err_process(struct dp_intr *int_ctx, struct dp_soc *soc,
|
|||
rx.err.
|
||||
reo_error[HAL_REO_ERR_REGULAR_FRAME_2K_JUMP],
|
||||
1);
|
||||
/* increment @pdev level */
|
||||
dp_pdev = dp_get_pdev_for_mac_id(soc, mac_id);
|
||||
if (dp_pdev)
|
||||
DP_STATS_INC(dp_pdev, err.reo_error, 1);
|
||||
|
||||
count = dp_rx_2k_jump_handle(soc,
|
||||
ring_desc, &mpdu_desc_info,
|
||||
|
|
@ -1442,6 +1450,12 @@ done:
|
|||
DP_STATS_INC(soc,
|
||||
rx.err.reo_error
|
||||
[wbm_err_info.reo_err_code], 1);
|
||||
/* increment @pdev level */
|
||||
pool_id = wbm_err_info.pool_id;
|
||||
dp_pdev = dp_get_pdev_for_mac_id(soc, pool_id);
|
||||
if (dp_pdev)
|
||||
DP_STATS_INC(dp_pdev, err.reo_error,
|
||||
1);
|
||||
|
||||
switch (wbm_err_info.reo_err_code) {
|
||||
/*
|
||||
|
|
@ -1489,6 +1503,12 @@ done:
|
|||
DP_STATS_INC(soc,
|
||||
rx.err.rxdma_error
|
||||
[wbm_err_info.rxdma_err_code], 1);
|
||||
/* increment @pdev level */
|
||||
pool_id = wbm_err_info.pool_id;
|
||||
dp_pdev = dp_get_pdev_for_mac_id(soc, pool_id);
|
||||
if (dp_pdev)
|
||||
DP_STATS_INC(dp_pdev,
|
||||
err.rxdma_error, 1);
|
||||
|
||||
switch (wbm_err_info.rxdma_err_code) {
|
||||
case HAL_RXDMA_ERR_UNENCRYPTED:
|
||||
|
|
@ -1708,6 +1728,8 @@ dp_rx_err_mpdu_pop(struct dp_soc *soc, uint32_t mac_id,
|
|||
} while (buf_info.paddr);
|
||||
|
||||
DP_STATS_INC(soc, rx.err.rxdma_error[rxdma_error_code], 1);
|
||||
if (pdev)
|
||||
DP_STATS_INC(pdev, err.rxdma_error, 1);
|
||||
|
||||
if (rxdma_error_code == HAL_RXDMA_ERR_DECRYPT) {
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||
|
|
|
|||
Loading…
Reference in a new issue