qcacmn: Add ring stats for direct switch rings
Add ring statistics for reo2ppe and ppe2tcl rings Change-Id: Ib9c15ba2f95d5cb97d238afad8f6f93dc5100e82 CRs-Fixed: 3279422
This commit is contained in:

committed by
Madan Koyyalamudi

parent
27da15777b
commit
c3630a234b
@@ -61,6 +61,16 @@ static struct wlan_cfg_tcl_wbm_ring_num_map g_tcl_wbm_map_array[MAX_TCL_DATA_RIN
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
static void dp_ppeds_rings_status(struct dp_soc *soc)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
|
||||
dp_print_ring_stat_from_hal(soc, &be_soc->reo2ppe_ring, REO2PPE);
|
||||
dp_print_ring_stat_from_hal(soc, &be_soc->ppe2tcl_ring, PPE2TCL);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void dp_soc_cfg_attach_be(struct dp_soc *soc)
|
||||
{
|
||||
struct wlan_cfg_dp_soc_ctxt *soc_cfg_ctx = soc->wlan_cfg_ctx;
|
||||
@@ -2022,6 +2032,13 @@ void dp_initialize_arch_ops_be(struct dp_arch_ops *arch_ops)
|
||||
dp_reconfig_tx_vdev_mcast_ctrl_be;
|
||||
arch_ops->dp_cc_reg_cfg_init = dp_cc_reg_cfg_init;
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
arch_ops->dp_txrx_ppeds_rings_status = dp_ppeds_rings_status;
|
||||
#else
|
||||
arch_ops->dp_txrx_ppeds_rings_status = NULL;
|
||||
#endif
|
||||
|
||||
dp_init_near_full_arch_ops_be(arch_ops);
|
||||
arch_ops->get_rx_hash_key = dp_get_rx_hash_key_be;
|
||||
arch_ops->print_mlo_ast_stats = dp_print_mlo_ast_stats_be;
|
||||
|
@@ -2377,6 +2377,17 @@ void dp_update_delay_stats(struct cdp_tid_tx_stats *tstats,
|
||||
*/
|
||||
void dp_print_ring_stats(struct dp_pdev *pdev);
|
||||
|
||||
/**
|
||||
* dp_print_ring_stat_from_hal(): Print tail and head pointer through hal
|
||||
* @soc: soc handle
|
||||
* @srng: srng handle
|
||||
* @ring_type: ring type
|
||||
*
|
||||
* Return:void
|
||||
*/
|
||||
void
|
||||
dp_print_ring_stat_from_hal(struct dp_soc *soc, struct dp_srng *srng,
|
||||
enum hal_ring_type ring_type);
|
||||
/**
|
||||
* dp_print_pdev_cfg_params() - Print the pdev cfg parameters
|
||||
* @pdev_handle: DP pdev handle
|
||||
|
@@ -9583,6 +9583,10 @@ char *dp_srng_get_str_from_hal_ring_type(enum hal_ring_type ring_type)
|
||||
return "Rxdma_monitor_destination";
|
||||
case WBM_IDLE_LINK:
|
||||
return "WBM_hw_idle_link";
|
||||
case PPE2TCL:
|
||||
return "PPE2TCL";
|
||||
case REO2PPE:
|
||||
return "REO2PPE";
|
||||
default:
|
||||
dp_err("Invalid ring type");
|
||||
break;
|
||||
|
@@ -5819,7 +5819,7 @@ dp_print_pdev_cfg_params(struct dp_pdev *pdev)
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void
|
||||
void
|
||||
dp_print_ring_stat_from_hal(struct dp_soc *soc, struct dp_srng *srng,
|
||||
enum hal_ring_type ring_type)
|
||||
{
|
||||
@@ -6031,6 +6031,11 @@ dp_print_ring_stats(struct dp_pdev *pdev)
|
||||
[lmac_id],
|
||||
RXDMA_DST);
|
||||
}
|
||||
|
||||
#ifdef WLAN_SUPPORT_PPEDS
|
||||
if (pdev->soc->arch_ops.dp_txrx_ppeds_rings_status)
|
||||
pdev->soc->arch_ops.dp_txrx_ppeds_rings_status(pdev->soc);
|
||||
#endif
|
||||
hif_rtpm_put(HIF_RTPM_PUT_ASYNC, HIF_RTPM_ID_DP_RING_STATS);
|
||||
}
|
||||
|
||||
|
@@ -1986,6 +1986,7 @@ struct dp_arch_ops {
|
||||
#ifdef IPA_OFFLOAD
|
||||
int8_t (*ipa_get_bank_id)(struct dp_soc *soc);
|
||||
#endif
|
||||
void (*dp_txrx_ppeds_rings_status)(struct dp_soc *soc);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -621,6 +621,7 @@ void dp_initialize_arch_ops_li(struct dp_arch_ops *arch_ops)
|
||||
arch_ops->dp_find_peer_by_destmac = dp_find_peer_by_destmac_li;
|
||||
arch_ops->peer_get_reo_hash = dp_peer_get_reo_hash_li;
|
||||
arch_ops->reo_remap_config = dp_reo_remap_config_li;
|
||||
arch_ops->dp_txrx_ppeds_rings_status = NULL;
|
||||
}
|
||||
|
||||
#ifdef QCA_DP_TX_HW_SW_NBUF_DESC_PREFETCH
|
||||
|
Reference in New Issue
Block a user