qcacmn: Add txmon HP TP values in stats command
Add txmon buf and destination ring in HPTP dump command Change-Id: Ic32d1b355d5fc309225dfc5649ee7f9568a8dca6 CRs-Fixed: 3331176
Цей коміт міститься в:

зафіксовано
Madan Koyyalamudi

джерело
6ef5d59bee
коміт
bb7ee725be
@@ -1216,6 +1216,11 @@ dp_tx_mon_process_2_0(struct dp_soc *soc, struct dp_intr *int_ctx,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
dp_tx_mon_print_ring_stat_2_0(struct dp_pdev *pdev)
|
||||
{
|
||||
}
|
||||
|
||||
static inline
|
||||
QDF_STATUS dp_mon_soc_attach_2_0(struct dp_soc *soc)
|
||||
{
|
||||
@@ -1331,6 +1336,7 @@ dp_mon_register_feature_ops_2_0(struct dp_soc *soc)
|
||||
mon_ops->mon_neighbour_peer_add_ast = NULL;
|
||||
#ifndef DISABLE_MON_CONFIG
|
||||
mon_ops->mon_tx_process = dp_tx_mon_process_2_0;
|
||||
mon_ops->print_txmon_ring_stat = dp_tx_mon_print_ring_stat_2_0;
|
||||
#endif
|
||||
#ifdef WLAN_TX_PKT_CAPTURE_ENH_BE
|
||||
mon_ops->mon_peer_tid_peer_id_update = NULL;
|
||||
|
@@ -299,6 +299,22 @@ dp_tx_mon_process_2_0(struct dp_soc *soc, struct dp_intr *int_ctx,
|
||||
return work_done;
|
||||
}
|
||||
|
||||
void
|
||||
dp_tx_mon_print_ring_stat_2_0(struct dp_pdev *pdev)
|
||||
{
|
||||
struct dp_soc *soc = pdev->soc;
|
||||
struct dp_mon_soc *mon_soc = soc->monitor_soc;
|
||||
struct dp_mon_soc_be *mon_soc_be =
|
||||
dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
|
||||
int lmac_id;
|
||||
|
||||
lmac_id = dp_get_lmac_id_for_pdev_id(soc, 0, pdev->pdev_id);
|
||||
dp_print_ring_stat_from_hal(soc, &mon_soc_be->tx_mon_buf_ring,
|
||||
TX_MONITOR_BUF);
|
||||
dp_print_ring_stat_from_hal(soc, &mon_soc_be->tx_mon_dst_ring[lmac_id],
|
||||
TX_MONITOR_DST);
|
||||
}
|
||||
|
||||
void
|
||||
dp_tx_mon_buf_desc_pool_deinit(struct dp_soc *soc)
|
||||
{
|
||||
|
@@ -148,6 +148,14 @@ uint32_t
|
||||
dp_tx_mon_process_2_0(struct dp_soc *soc, struct dp_intr *int_ctx,
|
||||
uint32_t mac_id, uint32_t quota);
|
||||
|
||||
/*
|
||||
* dp_tx_mon_print_ring_stat_2_0() - Print monitor ring stats
|
||||
* @pdev: dp pdev handle
|
||||
*
|
||||
*/
|
||||
void
|
||||
dp_tx_mon_print_ring_stat_2_0(struct dp_pdev *pdev);
|
||||
|
||||
/* The maximum buffer length allocated for radiotap for monitor status buffer */
|
||||
#define MAX_MONITOR_HEADER (512)
|
||||
#define MAX_DUMMY_FRM_BODY (128)
|
||||
|
@@ -618,6 +618,7 @@ struct dp_mon_ops {
|
||||
struct dp_intr *int_ctx,
|
||||
uint32_t mac_id,
|
||||
uint32_t quota);
|
||||
void (*print_txmon_ring_stat)(struct dp_pdev *pdev);
|
||||
#endif
|
||||
void (*mon_peer_tx_init)(struct dp_pdev *pdev, struct dp_peer *peer);
|
||||
void (*mon_peer_tx_cleanup)(struct dp_vdev *vdev,
|
||||
@@ -2432,6 +2433,28 @@ uint32_t dp_rx_mon_buf_refill(struct dp_intr *int_ctx)
|
||||
|
||||
return monitor_ops->rx_mon_refill_buf_ring(int_ctx);
|
||||
}
|
||||
|
||||
static inline
|
||||
void dp_print_txmon_ring_stat_from_hal(struct dp_pdev *pdev)
|
||||
{
|
||||
struct dp_soc *soc = pdev->soc;
|
||||
struct dp_mon_soc *mon_soc = soc->monitor_soc;
|
||||
struct dp_mon_ops *monitor_ops;
|
||||
|
||||
if (!mon_soc) {
|
||||
dp_mon_debug("monitor soc is NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
monitor_ops = mon_soc->mon_ops;
|
||||
if (!monitor_ops || !monitor_ops->print_txmon_ring_stat) {
|
||||
dp_mon_debug("callback not registered");
|
||||
return;
|
||||
}
|
||||
|
||||
monitor_ops->print_txmon_ring_stat(pdev);
|
||||
}
|
||||
|
||||
#else
|
||||
static inline
|
||||
uint32_t dp_monitor_process(struct dp_soc *soc, struct dp_intr *int_ctx,
|
||||
@@ -2458,6 +2481,11 @@ uint32_t dp_rx_mon_buf_refill(struct dp_intr *int_ctx)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline
|
||||
void dp_print_txmon_ring_stat_from_hal(struct dp_pdev *pdev)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Посилання в новій задачі
Заблокувати користувача