qcacmn: Use dp_info_rl instead of QDF_TRACE to avoid aggressive logging
There might be aggressive error logging in the dmesg if wbm_desc_rel_ring is hang. So use the dp_info_rl instead of QDF_TRACE to reduce aggressive logging to avaoid spin lock huge delay when processing the reo_exception_ring. Change-Id: I4622f28cd6d8771cf27643a867892b62860d1ddc CRs-Fixed: 2648149
This commit is contained in:
@@ -201,12 +201,18 @@ dp_rx_link_desc_return_by_addr(struct dp_soc *soc,
|
||||
status = QDF_STATUS_SUCCESS;
|
||||
} else {
|
||||
struct hal_srng *srng = (struct hal_srng *)wbm_rel_srng;
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||
FL("WBM Release Ring (Id %d) Full"), srng->ring_id);
|
||||
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
|
||||
"HP 0x%x Reap HP 0x%x TP 0x%x Cached TP 0x%x",
|
||||
*srng->u.src_ring.hp_addr, srng->u.src_ring.reap_hp,
|
||||
*srng->u.src_ring.tp_addr, srng->u.src_ring.cached_tp);
|
||||
|
||||
DP_STATS_INC(soc, rx.err.hal_ring_access_full_fail, 1);
|
||||
|
||||
dp_info_rl("WBM Release Ring (Id %d) Full(Fail CNT %u)",
|
||||
srng->ring_id,
|
||||
soc->stats.rx.err.hal_ring_access_full_fail);
|
||||
dp_info_rl("HP 0x%x Reap HP 0x%x TP 0x%x Cached TP 0x%x",
|
||||
*srng->u.src_ring.hp_addr,
|
||||
srng->u.src_ring.reap_hp,
|
||||
*srng->u.src_ring.tp_addr,
|
||||
srng->u.src_ring.cached_tp);
|
||||
qdf_assert(0);
|
||||
}
|
||||
done:
|
||||
hal_srng_access_end(hal_soc, wbm_rel_srng);
|
||||
|
@@ -5592,6 +5592,9 @@ void dp_txrx_path_stats(struct dp_soc *soc)
|
||||
DP_PRINT_STATS("hal ring access fail: %u msdus",
|
||||
pdev->soc->stats.rx.err.hal_ring_access_fail);
|
||||
|
||||
DP_PRINT_STATS("hal ring access full fail: %u msdus",
|
||||
pdev->soc->stats.rx.err.hal_ring_access_full_fail);
|
||||
|
||||
for (error_code = 0; error_code < HAL_REO_ERR_MAX;
|
||||
error_code++) {
|
||||
if (!pdev->soc->stats.rx.err.reo_error[error_code])
|
||||
@@ -6068,6 +6071,8 @@ dp_print_soc_rx_stats(struct dp_soc *soc)
|
||||
soc->stats.rx.err.rx_invalid_peer.num);
|
||||
DP_PRINT_STATS("HAL Ring Access Fail = %d",
|
||||
soc->stats.rx.err.hal_ring_access_fail);
|
||||
DP_PRINT_STATS("HAL Ring Access Full Fail = %d",
|
||||
soc->stats.rx.err.hal_ring_access_full_fail);
|
||||
DP_PRINT_STATS("MSDU Done failures = %d",
|
||||
soc->stats.rx.err.msdu_done_fail);
|
||||
DP_PRINT_STATS("RX frags: %d", soc->stats.rx.rx_frags);
|
||||
|
@@ -775,6 +775,8 @@ struct dp_soc_stats {
|
||||
struct cdp_pkt_info rx_invalid_pkt_len;
|
||||
/* HAL ring access Fail error count */
|
||||
uint32_t hal_ring_access_fail;
|
||||
/* HAL ring access full Fail error count */
|
||||
uint32_t hal_ring_access_full_fail;
|
||||
/* RX DMA error count */
|
||||
uint32_t rxdma_error[HAL_RXDMA_ERR_MAX];
|
||||
/* RX REO DEST Desc Invalid Magic count */
|
||||
|
Reference in New Issue
Block a user