qcacmn: API renaming for monitor module

Add prefix dp for all monitor APIs
Add mon_debug/mon_info/mon_err for logs

Change-Id: I71d49f6bcacd77f5695269817fed83337169227b
CRs-Fixed: 3006497
This commit is contained in:
aloksing
2021-08-03 16:36:17 +05:30
committed by Madan Koyyalamudi
parent 83e0741bf9
commit b158abe417
14 changed files with 880 additions and 603 deletions

View File

@@ -2544,7 +2544,9 @@ static void dp_htt_t2h_msg_handler(void *context, HTC_PACKET *pkt)
case HTT_T2H_MSG_TYPE_PPDU_STATS_IND:
{
free_buf = monitor_ppdu_stats_ind_handler(soc, msg_word,
free_buf =
dp_monitor_ppdu_stats_ind_handler(soc,
msg_word,
htt_t2h_msg);
break;
}

View File

@@ -184,64 +184,64 @@ static inline QDF_STATUS dp_mon_soc_detach_wrapper(struct dp_soc *soc)
#ifndef WIFI_MONITOR_SUPPORT
#define MON_BUF_MIN_ENTRIES 64
static inline QDF_STATUS monitor_pdev_attach(struct dp_pdev *pdev)
static inline QDF_STATUS dp_monitor_pdev_attach(struct dp_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS monitor_pdev_detach(struct dp_pdev *pdev)
static inline QDF_STATUS dp_monitor_pdev_detach(struct dp_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS monitor_vdev_attach(struct dp_vdev *vdev)
static inline QDF_STATUS dp_monitor_vdev_attach(struct dp_vdev *vdev)
{
return QDF_STATUS_E_FAILURE;
}
static inline QDF_STATUS monitor_vdev_detach(struct dp_vdev *vdev)
static inline QDF_STATUS dp_monitor_vdev_detach(struct dp_vdev *vdev)
{
return QDF_STATUS_E_FAILURE;
}
static inline QDF_STATUS monitor_peer_attach(struct dp_soc *soc,
static inline QDF_STATUS dp_monitor_peer_attach(struct dp_soc *soc,
struct dp_peer *peer)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS monitor_peer_detach(struct dp_soc *soc,
static inline QDF_STATUS dp_monitor_peer_detach(struct dp_soc *soc,
struct dp_peer *peer)
{
return QDF_STATUS_E_FAILURE;
}
static inline QDF_STATUS monitor_pdev_init(struct dp_pdev *pdev)
static inline QDF_STATUS dp_monitor_pdev_init(struct dp_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS monitor_pdev_deinit(struct dp_pdev *pdev)
static inline QDF_STATUS dp_monitor_pdev_deinit(struct dp_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS monitor_soc_cfg_init(struct dp_soc *soc)
static inline QDF_STATUS dp_monitor_soc_cfg_init(struct dp_soc *soc)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS monitor_config_debug_sniffer(struct dp_pdev *pdev,
static inline QDF_STATUS dp_monitor_config_debug_sniffer(struct dp_pdev *pdev,
int val)
{
return QDF_STATUS_E_FAILURE;
}
static inline void monitor_flush_rings(struct dp_soc *soc)
static inline void dp_monitor_flush_rings(struct dp_soc *soc)
{
}
static inline QDF_STATUS monitor_htt_srng_setup(struct dp_soc *soc,
static inline QDF_STATUS dp_monitor_htt_srng_setup(struct dp_soc *soc,
struct dp_pdev *pdev,
int mac_id,
int mac_for_pdev)
@@ -249,61 +249,63 @@ static inline QDF_STATUS monitor_htt_srng_setup(struct dp_soc *soc,
return QDF_STATUS_SUCCESS;
}
static inline void monitor_service_mon_rings(struct dp_soc *soc, uint32_t quota)
static inline void dp_monitor_service_mon_rings(struct dp_soc *soc,
uint32_t quota)
{
}
static inline
uint32_t monitor_process(struct dp_soc *soc, struct dp_intr *int_ctx,
uint32_t dp_monitor_process(struct dp_soc *soc, struct dp_intr *int_ctx,
uint32_t mac_id, uint32_t quota)
{
return 0;
}
static inline
uint32_t monitor_drop_packets_for_mac(struct dp_pdev *pdev,
uint32_t dp_monitor_drop_packets_for_mac(struct dp_pdev *pdev,
uint32_t mac_id, uint32_t quota)
{
return 0;
}
static inline void monitor_peer_tx_init(struct dp_pdev *pdev,
static inline void dp_monitor_peer_tx_init(struct dp_pdev *pdev,
struct dp_peer *peer)
{
}
static inline void monitor_peer_tx_cleanup(struct dp_vdev *vdev,
static inline void dp_monitor_peer_tx_cleanup(struct dp_vdev *vdev,
struct dp_peer *peer)
{
}
static inline
void monitor_peer_tid_peer_id_update(struct dp_soc *soc,
void dp_monitor_peer_tid_peer_id_update(struct dp_soc *soc,
struct dp_peer *peer,
uint16_t peer_id)
{
}
static inline void monitor_tx_ppdu_stats_attach(struct dp_pdev *pdev)
static inline void dp_monitor_tx_ppdu_stats_attach(struct dp_pdev *pdev)
{
}
static inline void monitor_tx_ppdu_stats_detach(struct dp_pdev *pdev)
static inline void dp_monitor_tx_ppdu_stats_detach(struct dp_pdev *pdev)
{
}
static inline QDF_STATUS monitor_tx_capture_debugfs_init(struct dp_pdev *pdev)
static inline
QDF_STATUS dp_monitor_tx_capture_debugfs_init(struct dp_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
static inline void monitor_peer_tx_capture_filter_check(struct dp_pdev *pdev,
static inline void dp_monitor_peer_tx_capture_filter_check(struct dp_pdev *pdev,
struct dp_peer *peer)
{
}
static inline
QDF_STATUS monitor_tx_add_to_comp_queue(struct dp_soc *soc,
QDF_STATUS dp_monitor_tx_add_to_comp_queue(struct dp_soc *soc,
struct dp_tx_desc_s *desc,
struct hal_tx_completion_status *ts,
struct dp_peer *peer)
@@ -321,163 +323,164 @@ QDF_STATUS monitor_update_msdu_to_list(struct dp_soc *soc,
return QDF_STATUS_E_FAILURE;
}
static inline bool monitor_ppdu_stats_ind_handler(struct htt_soc *soc,
static inline bool dp_monitor_ppdu_stats_ind_handler(struct htt_soc *soc,
uint32_t *msg_word,
qdf_nbuf_t htt_t2h_msg)
{
return true;
}
static inline QDF_STATUS monitor_htt_ppdu_stats_attach(struct dp_pdev *pdev)
static inline QDF_STATUS dp_monitor_htt_ppdu_stats_attach(struct dp_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}
static inline void monitor_htt_ppdu_stats_detach(struct dp_pdev *pdev)
static inline void dp_monitor_htt_ppdu_stats_detach(struct dp_pdev *pdev)
{
}
static inline void monitor_print_pdev_rx_mon_stats(struct dp_pdev *pdev)
static inline void dp_monitor_print_pdev_rx_mon_stats(struct dp_pdev *pdev)
{
}
static inline QDF_STATUS monitor_config_enh_tx_capture(struct dp_pdev *pdev,
static inline QDF_STATUS dp_monitor_config_enh_tx_capture(struct dp_pdev *pdev,
uint32_t val)
{
return QDF_STATUS_E_INVAL;
}
static inline QDF_STATUS monitor_config_enh_rx_capture(struct dp_pdev *pdev,
static inline QDF_STATUS dp_monitor_config_enh_rx_capture(struct dp_pdev *pdev,
uint32_t val)
{
return QDF_STATUS_E_INVAL;
}
static inline QDF_STATUS monitor_set_bpr_enable(struct dp_pdev *pdev,
uint32_t val)
static inline
QDF_STATUS dp_monitor_set_bpr_enable(struct dp_pdev *pdev, uint32_t val)
{
return QDF_STATUS_E_FAILURE;
}
static inline int monitor_set_filter_neigh_peers(struct dp_pdev *pdev, bool val)
static inline
int dp_monitor_set_filter_neigh_peers(struct dp_pdev *pdev, bool val)
{
return 0;
}
static inline
void monitor_set_atf_stats_enable(struct dp_pdev *pdev, bool value)
void dp_monitor_set_atf_stats_enable(struct dp_pdev *pdev, bool value)
{
}
static inline
void monitor_set_bsscolor(struct dp_pdev *pdev, uint8_t bsscolor)
void dp_monitor_set_bsscolor(struct dp_pdev *pdev, uint8_t bsscolor)
{
}
static inline
bool monitor_pdev_get_filter_mcast_data(struct cdp_pdev *pdev_handle)
bool dp_monitor_pdev_get_filter_mcast_data(struct cdp_pdev *pdev_handle)
{
return false;
}
static inline
bool monitor_pdev_get_filter_non_data(struct cdp_pdev *pdev_handle)
bool dp_monitor_pdev_get_filter_non_data(struct cdp_pdev *pdev_handle)
{
return false;
}
static inline
bool monitor_pdev_get_filter_ucast_data(struct cdp_pdev *pdev_handle)
bool dp_monitor_pdev_get_filter_ucast_data(struct cdp_pdev *pdev_handle)
{
return false;
}
static inline
int monitor_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event, bool enable)
int dp_monitor_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event,
bool enable)
{
return 0;
}
static inline void monitor_pktlogmod_exit(struct dp_pdev *pdev)
static inline void dp_monitor_pktlogmod_exit(struct dp_pdev *pdev)
{
}
static inline
void monitor_vdev_set_monitor_mode_buf_rings(struct dp_pdev *pdev)
void dp_monitor_vdev_set_monitor_mode_buf_rings(struct dp_pdev *pdev)
{
}
static inline
void monitor_neighbour_peers_detach(struct dp_pdev *pdev)
void dp_monitor_neighbour_peers_detach(struct dp_pdev *pdev)
{
}
static inline QDF_STATUS monitor_filter_neighbour_peer(struct dp_pdev *pdev,
static inline QDF_STATUS dp_monitor_filter_neighbour_peer(struct dp_pdev *pdev,
uint8_t *rx_pkt_hdr)
{
return QDF_STATUS_E_FAILURE;
}
static inline void monitor_print_pdev_tx_capture_stats(struct dp_pdev *pdev)
static inline void dp_monitor_print_pdev_tx_capture_stats(struct dp_pdev *pdev)
{
}
static inline
void monitor_reap_timer_init(struct dp_soc *soc)
void dp_monitor_reap_timer_init(struct dp_soc *soc)
{
}
static inline
void monitor_reap_timer_deinit(struct dp_soc *soc)
void dp_monitor_reap_timer_deinit(struct dp_soc *soc)
{
}
static inline
void monitor_reap_timer_start(struct dp_soc *soc)
void dp_monitor_reap_timer_start(struct dp_soc *soc)
{
}
static inline
bool monitor_reap_timer_stop(struct dp_soc *soc)
bool dp_monitor_reap_timer_stop(struct dp_soc *soc)
{
return false;
}
static inline
void monitor_vdev_timer_init(struct dp_soc *soc)
void dp_monitor_vdev_timer_init(struct dp_soc *soc)
{
}
static inline
void monitor_vdev_timer_deinit(struct dp_soc *soc)
void dp_monitor_vdev_timer_deinit(struct dp_soc *soc)
{
}
static inline
void monitor_vdev_timer_start(struct dp_soc *soc)
void dp_monitor_vdev_timer_start(struct dp_soc *soc)
{
}
static inline
bool monitor_vdev_timer_stop(struct dp_soc *soc)
bool dp_monitor_vdev_timer_stop(struct dp_soc *soc)
{
return false;
}
static inline struct qdf_mem_multi_page_t*
monitor_get_link_desc_pages(struct dp_soc *soc, uint32_t mac_id)
dp_monitor_get_link_desc_pages(struct dp_soc *soc, uint32_t mac_id)
{
return NULL;
}
static inline uint32_t *
monitor_get_total_link_descs(struct dp_soc *soc, uint32_t mac_id)
dp_monitor_get_total_link_descs(struct dp_soc *soc, uint32_t mac_id)
{
return NULL;
}
static inline QDF_STATUS monitor_drop_inv_peer_pkts(struct dp_vdev *vdev,
struct ieee80211_frame *wh)
static inline QDF_STATUS dp_monitor_drop_inv_peer_pkts(struct dp_vdev *vdev)
{
return QDF_STATUS_E_FAILURE;
}
@@ -487,22 +490,23 @@ static inline bool dp_is_enable_reap_timer_non_pkt(struct dp_pdev *pdev)
return false;
}
static inline void monitor_vdev_register_osif(struct dp_vdev *vdev,
static inline void dp_monitor_vdev_register_osif(struct dp_vdev *vdev,
struct ol_txrx_ops *txrx_ops)
{
}
static inline bool monitor_is_vdev_timer_running(struct dp_soc *soc)
static inline bool dp_monitor_is_vdev_timer_running(struct dp_soc *soc)
{
return false;
}
static inline
void monitor_pdev_set_mon_vdev(struct dp_vdev *vdev)
void dp_monitor_pdev_set_mon_vdev(struct dp_pdev *pdev)
{
}
static inline void monitor_vdev_delete(struct dp_soc *soc, struct dp_vdev *vdev)
static inline void dp_monitor_vdev_delete(struct dp_soc *soc,
struct dp_vdev *vdev)
{
}
@@ -510,7 +514,7 @@ static inline void dp_peer_ppdu_delayed_ba_init(struct dp_peer *peer)
{
}
static inline void monitor_neighbour_peer_add_ast(struct dp_pdev *pdev,
static inline void dp_monitor_neighbour_peer_add_ast(struct dp_pdev *pdev,
struct dp_peer *ta_peer,
uint8_t *mac_addr,
qdf_nbuf_t nbuf,
@@ -519,84 +523,84 @@ static inline void monitor_neighbour_peer_add_ast(struct dp_pdev *pdev,
}
static inline void
monitor_set_chan_band(struct dp_pdev *pdev, enum reg_wifi_band chan_band)
dp_monitor_set_chan_band(struct dp_pdev *pdev, enum reg_wifi_band chan_band)
{
}
static inline void
monitor_set_chan_freq(struct dp_pdev *pdev, qdf_freq_t chan_freq)
dp_monitor_set_chan_freq(struct dp_pdev *pdev, qdf_freq_t chan_freq)
{
}
static inline void monitor_set_chan_num(struct dp_pdev *pdev, int chan_num)
static inline void dp_monitor_set_chan_num(struct dp_pdev *pdev, int chan_num)
{
}
static inline bool monitor_is_enable_mcopy_mode(struct dp_pdev *pdev)
static inline bool dp_monitor_is_enable_mcopy_mode(struct dp_pdev *pdev)
{
return false;
}
static inline
void monitor_neighbour_peer_list_remove(struct dp_pdev *pdev,
void dp_monitor_neighbour_peer_list_remove(struct dp_pdev *pdev,
struct dp_vdev *vdev,
struct dp_neighbour_peer *peer)
{
}
static inline bool monitor_is_chan_band_known(struct dp_pdev *pdev)
static inline bool dp_monitor_is_chan_band_known(struct dp_pdev *pdev)
{
return false;
}
static inline enum reg_wifi_band
monitor_get_chan_band(struct dp_pdev *pdev)
dp_monitor_get_chan_band(struct dp_pdev *pdev)
{
return 0;
}
static inline void monitor_get_mpdu_status(struct dp_pdev *pdev,
static inline void dp_monitor_get_mpdu_status(struct dp_pdev *pdev,
struct dp_soc *soc,
uint8_t *rx_tlv_hdr)
{
}
static inline void monitor_print_tx_stats(struct dp_pdev *pdev)
static inline void dp_monitor_print_tx_stats(struct dp_pdev *pdev)
{
}
static inline
QDF_STATUS monitor_mcopy_check_deliver(struct dp_pdev *pdev,
QDF_STATUS dp_monitor_mcopy_check_deliver(struct dp_pdev *pdev,
uint16_t peer_id, uint32_t ppdu_id,
uint8_t first_msdu)
{
return QDF_STATUS_SUCCESS;
}
static inline bool monitor_is_enable_tx_sniffer(struct dp_pdev *pdev)
static inline bool dp_monitor_is_enable_tx_sniffer(struct dp_pdev *pdev)
{
return false;
}
static inline struct dp_vdev*
monitor_get_monitor_vdev_from_pdev(struct dp_pdev *pdev)
dp_monitor_get_monitor_vdev_from_pdev(struct dp_pdev *pdev)
{
return NULL;
}
static inline QDF_STATUS monitor_check_com_info_ppdu_id(struct dp_pdev *pdev,
static inline QDF_STATUS dp_monitor_check_com_info_ppdu_id(struct dp_pdev *pdev,
void *rx_desc)
{
return QDF_STATUS_E_FAILURE;
}
static inline struct mon_rx_status*
monitor_get_rx_status(struct dp_pdev *pdev)
dp_monitor_get_rx_status(struct dp_pdev *pdev)
{
return NULL;
}
static inline bool monitor_is_enable_enhanced_stats(struct dp_pdev *pdev)
static inline bool dp_monitor_is_enable_enhanced_stats(struct dp_pdev *pdev)
{
return false;
}

View File

@@ -143,7 +143,7 @@ QDF_STATUS dp_ipa_handle_rx_buf_smmu_mapping(struct dp_soc *soc,
for (i = 0; i < soc->pdev_count; i++) {
pdev = soc->pdev_list[i];
if (pdev && monitor_is_configured(pdev))
if (pdev && dp_monitor_is_configured(pdev))
return QDF_STATUS_SUCCESS;
}

View File

@@ -492,7 +492,7 @@ static void dp_service_lmac_rings(void *arg)
rx_refill_buf_ring = &soc->rx_refill_buf_ring[mac_for_pdev];
monitor_process(soc, NULL, mac_for_pdev,
dp_monitor_process(soc, NULL, mac_for_pdev,
QCA_NAPI_BUDGET);
for (i = 0;
@@ -2250,7 +2250,8 @@ static int dp_process_lmac_rings(struct dp_intr *int_ctx, int total_budget)
if (!pdev)
continue;
if (int_ctx->rx_mon_ring_mask & (1 << mac_for_pdev)) {
work_done = monitor_process(soc, int_ctx, mac_for_pdev,
work_done = dp_monitor_process(soc, int_ctx,
mac_for_pdev,
remaining_quota);
if (work_done)
intr_stats->num_rx_mon_ring_masks++;
@@ -2442,7 +2443,7 @@ static uint32_t dp_service_srngs(void *dp_ctx, uint32_t dp_budget)
int_ctx->intr_stats.num_reo_status_ring_masks++;
}
if (qdf_unlikely(!monitor_is_vdev_timer_running(soc))) {
if (qdf_unlikely(!dp_monitor_is_vdev_timer_running(soc))) {
work_done = dp_process_lmac_rings(int_ctx, remaining_quota);
if (work_done) {
budget -= work_done;
@@ -2483,7 +2484,7 @@ static uint32_t dp_service_srngs(void *dp_ctx, uint32_t dp_budget)
int_ctx->intr_stats.num_reo_status_ring_masks++;
}
if (qdf_unlikely(!monitor_is_vdev_timer_running(soc))) {
if (qdf_unlikely(!dp_monitor_is_vdev_timer_running(soc))) {
work_done = dp_process_lmac_rings(int_ctx, remaining_quota);
if (work_done) {
budget -= work_done;
@@ -2543,8 +2544,8 @@ static void dp_interrupt_timer(void *arg)
if (!qdf_atomic_read(&soc->cmn_init_done))
return;
if (monitor_is_chan_band_known(pdev)) {
mon_band = monitor_get_chan_band(pdev);
if (dp_monitor_is_chan_band_known(pdev)) {
mon_band = dp_monitor_get_chan_band(pdev);
lmac_id = pdev->ch_band_lmac_id_mapping[mon_band];
if (qdf_likely(lmac_id != DP_MON_INVALID_LMAC_ID)) {
dp_intr_id = soc->mon_intr_id_lmac_map[lmac_id];
@@ -2558,13 +2559,12 @@ static void dp_interrupt_timer(void *arg)
while (yield == DP_TIMER_NO_YIELD) {
for (lmac_iter = 0; lmac_iter < max_mac_rings; lmac_iter++) {
if (lmac_iter == lmac_id)
work_done =
monitor_process(soc,
work_done = dp_monitor_process(soc,
&soc->intr_ctx[dp_intr_id],
lmac_iter, remaining_quota);
else
work_done =
monitor_drop_packets_for_mac(pdev,
dp_monitor_drop_packets_for_mac(pdev,
lmac_iter,
remaining_quota);
if (work_done) {
@@ -3090,7 +3090,7 @@ void dp_hw_link_desc_pool_banks_free(struct dp_soc *soc, uint32_t mac_id)
struct qdf_mem_multi_page_t *pages;
if (mac_id != WLAN_INVALID_PDEV_ID) {
pages = monitor_get_link_desc_pages(soc, mac_id);
pages = dp_monitor_get_link_desc_pages(soc, mac_id);
} else {
pages = &soc->link_desc_pages;
}
@@ -3153,8 +3153,8 @@ QDF_STATUS dp_hw_link_desc_pool_banks_alloc(struct dp_soc *soc, uint32_t mac_id)
* with REO queue descriptors
*/
if (mac_id != WLAN_INVALID_PDEV_ID) {
pages = monitor_get_link_desc_pages(soc, mac_id);
/* monitor_get_link_desc_pages returns NULL only
pages = dp_monitor_get_link_desc_pages(soc, mac_id);
/* dp_monitor_get_link_desc_pages returns NULL only
* if monitor SOC is NULL
*/
if (!pages) {
@@ -3166,7 +3166,7 @@ QDF_STATUS dp_hw_link_desc_pool_banks_alloc(struct dp_soc *soc, uint32_t mac_id)
num_entries = dp_srng->alloc_size /
hal_srng_get_entrysize(soc->hal_soc,
RXDMA_MONITOR_DESC);
total_link_descs = monitor_get_total_link_descs(soc, mac_id);
total_link_descs = dp_monitor_get_total_link_descs(soc, mac_id);
qdf_str_lcopy(minidump_str, "mon_link_desc_bank",
MINIDUMP_STR_SIZE);
} else {
@@ -3426,8 +3426,8 @@ void dp_link_desc_ring_replenish(struct dp_soc *soc, uint32_t mac_id)
total_link_descs = soc->total_link_descs;
desc_srng = soc->wbm_idle_link_ring.hal_srng;
} else {
pages = monitor_get_link_desc_pages(soc, mac_id);
/* monitor_get_link_desc_pages returns NULL only
pages = dp_monitor_get_link_desc_pages(soc, mac_id);
/* dp_monitor_get_link_desc_pages returns NULL only
* if monitor SOC is NULL
*/
if (!pages) {
@@ -3436,7 +3436,7 @@ void dp_link_desc_ring_replenish(struct dp_soc *soc, uint32_t mac_id)
return;
}
total_link_descs_addr =
monitor_get_total_link_descs(soc, mac_id);
dp_monitor_get_total_link_descs(soc, mac_id);
total_link_descs = *total_link_descs_addr;
desc_srng = soc->rxdma_mon_desc_ring[mac_id].hal_srng;
}
@@ -4833,8 +4833,8 @@ static inline QDF_STATUS dp_pdev_attach_wifi3(struct cdp_soc_t *txrx_soc,
goto fail3;
}
if (monitor_pdev_attach(pdev)) {
dp_init_err("%pK: monitor_pdev_attach failed", soc);
if (dp_monitor_pdev_attach(pdev)) {
dp_init_err("%pK: dp_monitor_pdev_attach failed", soc);
goto fail4;
}
@@ -4869,7 +4869,7 @@ static void dp_rxdma_ring_cleanup(struct dp_soc *soc, struct dp_pdev *pdev)
dp_srng_free(soc, &pdev->rx_mac_buf_ring[i]);
}
monitor_reap_timer_deinit(soc);
dp_monitor_reap_timer_deinit(soc);
}
#else
static void dp_rxdma_ring_cleanup(struct dp_soc *soc, struct dp_pdev *pdev)
@@ -4956,7 +4956,7 @@ static void dp_pdev_deinit(struct cdp_pdev *txrx_pdev, int force)
if (pdev->invalid_peer)
qdf_mem_free(pdev->invalid_peer);
monitor_pdev_deinit(pdev);
dp_monitor_pdev_deinit(pdev);
dp_pdev_srng_deinit(pdev);
@@ -5012,7 +5012,7 @@ static void dp_pdev_post_attach(struct cdp_pdev *txrx_pdev)
{
struct dp_pdev *pdev = (struct dp_pdev *)txrx_pdev;
monitor_tx_capture_debugfs_init(pdev);
dp_monitor_tx_capture_debugfs_init(pdev);
if (dp_pdev_htt_stats_dbgfs_init(pdev)) {
dp_init_err("%pK: Failed to initialize pdev HTT stats debugfs", pdev->soc);
@@ -5058,7 +5058,7 @@ static void dp_pdev_detach(struct cdp_pdev *txrx_pdev, int force)
dp_pdev_htt_stats_dbgfs_deinit(pdev);
dp_rx_pdev_desc_pool_free(pdev);
monitor_pdev_detach(pdev);
dp_monitor_pdev_detach(pdev);
dp_pdev_srng_free(pdev);
soc->pdev_count--;
@@ -5435,7 +5435,7 @@ static QDF_STATUS dp_rxdma_ring_config(struct dp_soc *soc)
RXDMA_DST);
/* Configure monitor mode rings */
status = monitor_htt_srng_setup(soc, pdev,
status = dp_monitor_htt_srng_setup(soc, pdev,
lmac_id,
mac_for_pdev);
if (status != QDF_STATUS_SUCCESS) {
@@ -5451,8 +5451,8 @@ static QDF_STATUS dp_rxdma_ring_config(struct dp_soc *soc)
* Timer to reap rxdma status rings.
* Needed until we enable ppdu end interrupts
*/
monitor_reap_timer_init(soc);
monitor_vdev_timer_init(soc);
dp_monitor_reap_timer_init(soc);
dp_monitor_vdev_timer_init(soc);
return status;
}
#else
@@ -5477,7 +5477,7 @@ static QDF_STATUS dp_rxdma_ring_config(struct dp_soc *soc)
soc->rx_refill_buf_ring[lmac_id].
hal_srng, RXDMA_BUF);
/* Configure monitor mode rings */
monitor_htt_srng_setup(soc, pdev,
dp_monitor_htt_srng_setup(soc, pdev,
lmac_id,
mac_for_pdev);
htt_srng_setup(soc->htt_handle, mac_for_pdev,
@@ -5850,19 +5850,18 @@ static QDF_STATUS dp_vdev_attach_wifi3(struct cdp_soc_t *cdp_soc,
qdf_timer_mod(&soc->int_timer, DP_INTR_POLL_TIMER_MS);
} else if (soc->intr_mode == DP_INTR_MSI &&
wlan_op_mode_monitor == vdev->opmode) {
monitor_vdev_timer_start(soc);
dp_monitor_vdev_timer_start(soc);
}
dp_vdev_id_map_tbl_add(soc, vdev, vdev_id);
if (wlan_op_mode_monitor == vdev->opmode) {
if (monitor_vdev_attach(vdev) == QDF_STATUS_SUCCESS) {
monitor_pdev_set_mon_vdev(vdev);
monitor_vdev_set_monitor_mode_buf_rings(pdev);
if (dp_monitor_vdev_attach(vdev) == QDF_STATUS_SUCCESS) {
dp_monitor_pdev_set_mon_vdev(vdev);
dp_monitor_vdev_set_monitor_mode_buf_rings(pdev);
return QDF_STATUS_SUCCESS;
} else {
return QDF_STATUS_E_FAILURE;
}
return QDF_STATUS_E_FAILURE;
}
vdev->tx_encap_type = wlan_cfg_pkt_type(soc->wlan_cfg_ctx);
@@ -5886,8 +5885,8 @@ static QDF_STATUS dp_vdev_attach_wifi3(struct cdp_soc_t *cdp_soc,
cdp_soc, vdev->ap_bridge_enabled);
dp_tx_vdev_attach(vdev);
monitor_vdev_attach(vdev);
dp_monitor_vdev_attach(vdev);
if (!pdev->is_lro_hash_configured) {
if (QDF_IS_STATUS_SUCCESS(dp_lro_hash_setup(soc, pdev)))
pdev->is_lro_hash_configured = true;
@@ -5980,7 +5979,7 @@ static QDF_STATUS dp_vdev_register_wifi3(struct cdp_soc_t *soc_hdl,
vdev->osif_fisa_rx = txrx_ops->rx.osif_fisa_rx;
vdev->osif_fisa_flush = txrx_ops->rx.osif_fisa_flush;
vdev->osif_get_key = txrx_ops->get_key;
monitor_vdev_register_osif(vdev, txrx_ops);
dp_monitor_vdev_register_osif(vdev, txrx_ops);
vdev->osif_tx_free_ext = txrx_ops->tx.tx_free_ext;
vdev->tx_comp = txrx_ops->tx.tx_comp;
vdev->stats_cb = txrx_ops->rx.stats_rx;
@@ -6130,7 +6129,7 @@ static QDF_STATUS dp_vdev_detach_wifi3(struct cdp_soc_t *cdp_soc,
*/
dp_vdev_id_map_tbl_remove(soc, vdev);
monitor_neighbour_peer_list_remove(pdev, vdev, peer);
dp_monitor_neighbour_peer_list_remove(pdev, vdev, peer);
dp_tx_vdev_multipass_deinit(vdev);
@@ -6294,7 +6293,7 @@ dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
* when unassociated peer get associated peer need to
* update tx_cap_enabled flag to support peer filter.
*/
monitor_peer_tx_capture_filter_check(pdev, peer);
dp_monitor_peer_tx_capture_filter_check(pdev, peer);
dp_set_peer_isolation(peer, false);
@@ -6433,7 +6432,7 @@ dp_peer_create_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
QDF_STATUS_SUCCESS)
dp_warn("peer ext_stats ctx alloc failed");
if (monitor_peer_attach(soc, peer) !=
if (dp_monitor_peer_attach(soc, peer) !=
QDF_STATUS_SUCCESS)
dp_warn("peer monitor ctx alloc failed");
@@ -6612,7 +6611,7 @@ dp_peer_setup_wifi3(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
* which is REO2TCL ring. for this reason we should
* not setup reo_queues and default route for bss_peer.
*/
monitor_peer_tx_init(pdev, peer);
dp_monitor_peer_tx_init(pdev, peer);
if (peer->bss_peer && vdev->opmode == wlan_op_mode_ap) {
status = QDF_STATUS_E_FAILURE;
goto fail;
@@ -7079,7 +7078,7 @@ void dp_vdev_unref_delete(struct dp_soc *soc, struct dp_vdev *vdev,
vdev, QDF_MAC_ADDR_REF(vdev->mac_addr.raw));
if (wlan_op_mode_monitor == vdev->opmode) {
monitor_vdev_delete(soc, vdev);
dp_monitor_vdev_delete(soc, vdev);
goto free_vdev;
}
@@ -7087,7 +7086,7 @@ void dp_vdev_unref_delete(struct dp_soc *soc, struct dp_vdev *vdev,
dp_tx_flow_pool_unmap_handler(pdev, vdev_id,
FLOW_TYPE_VDEV, vdev_id);
dp_tx_vdev_detach(vdev);
monitor_vdev_detach(vdev);
dp_monitor_vdev_detach(vdev);
free_vdev:
qdf_spinlock_destroy(&vdev->peer_list_lock);
@@ -7202,7 +7201,7 @@ void dp_peer_unref_delete(struct dp_peer *peer, enum dp_mod_id mod_id)
/* cleanup the peer data */
dp_peer_cleanup(vdev, peer);
monitor_peer_detach(soc, peer);
dp_monitor_peer_detach(soc, peer);
for (tid = 0; tid < DP_MAX_TIDS; tid++)
qdf_spinlock_destroy(&peer->rx_tid[tid].tid_lock);
@@ -7703,7 +7702,7 @@ void dp_aggregate_pdev_stats(struct dp_pdev *pdev)
qdf_mem_zero(&pdev->stats.rx, sizeof(pdev->stats.rx));
qdf_mem_zero(&pdev->stats.tx_i, sizeof(pdev->stats.tx_i));
if (monitor_is_enable_mcopy_mode(pdev))
if (dp_monitor_is_enable_mcopy_mode(pdev))
DP_UPDATE_STATS(pdev, pdev->invalid_peer);
soc = pdev->soc;
@@ -8132,7 +8131,7 @@ dp_print_host_stats(struct dp_vdev *vdev,
dp_print_ring_stats(pdev);
break;
case TXRX_RX_MON_STATS:
monitor_print_pdev_rx_mon_stats(pdev);
dp_monitor_print_pdev_rx_mon_stats(pdev);
break;
case TXRX_REO_QUEUE_STATS:
dp_get_host_peer_stats((struct cdp_soc_t *)pdev->soc,
@@ -8411,15 +8410,15 @@ static QDF_STATUS dp_get_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
break;
case CDP_FILTER_MCAST_DATA:
val->cdp_pdev_param_fltr_mcast =
monitor_pdev_get_filter_mcast_data(pdev);
dp_monitor_pdev_get_filter_mcast_data(pdev);
break;
case CDP_FILTER_NO_DATA:
val->cdp_pdev_param_fltr_none =
monitor_pdev_get_filter_non_data(pdev);
dp_monitor_pdev_get_filter_non_data(pdev);
break;
case CDP_FILTER_UCAST_DATA:
val->cdp_pdev_param_fltr_ucast =
monitor_pdev_get_filter_ucast_data(pdev);
dp_monitor_pdev_get_filter_ucast_data(pdev);
break;
default:
return QDF_STATUS_E_FAILURE;
@@ -8467,13 +8466,13 @@ static QDF_STATUS dp_set_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
switch (param) {
case CDP_CONFIG_TX_CAPTURE:
return monitor_config_debug_sniffer(pdev,
return dp_monitor_config_debug_sniffer(pdev,
val.cdp_pdev_param_tx_capture);
case CDP_CONFIG_DEBUG_SNIFFER:
return monitor_config_debug_sniffer(pdev,
return dp_monitor_config_debug_sniffer(pdev,
val.cdp_pdev_param_dbg_snf);
case CDP_CONFIG_BPR_ENABLE:
return monitor_set_bpr_enable(pdev,
return dp_monitor_set_bpr_enable(pdev,
val.cdp_pdev_param_bpr_enable);
case CDP_CONFIG_PRIMARY_RADIO:
pdev->is_primary = val.cdp_pdev_param_primary_radio;
@@ -8490,10 +8489,10 @@ static QDF_STATUS dp_set_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
val.cdp_pdev_param_osif_drop);
break;
case CDP_CONFIG_ENH_RX_CAPTURE:
return monitor_config_enh_rx_capture(pdev,
return dp_monitor_config_enh_rx_capture(pdev,
val.cdp_pdev_param_en_rx_cap);
case CDP_CONFIG_ENH_TX_CAPTURE:
return monitor_config_enh_tx_capture(pdev,
return dp_monitor_config_enh_tx_capture(pdev,
val.cdp_pdev_param_en_tx_cap);
case CDP_CONFIG_HMMC_TID_OVERRIDE:
pdev->hmmc_tid_override_en = val.cdp_pdev_param_hmmc_tid_ovrd;
@@ -8509,28 +8508,28 @@ static QDF_STATUS dp_set_pdev_param(struct cdp_soc_t *cdp_soc, uint8_t pdev_id,
val.cdp_pdev_param_tidmap_prty);
break;
case CDP_FILTER_NEIGH_PEERS:
monitor_set_filter_neigh_peers(pdev,
dp_monitor_set_filter_neigh_peers(pdev,
val.cdp_pdev_param_fltr_neigh_peers);
break;
case CDP_MONITOR_CHANNEL:
monitor_set_chan_num(pdev, val.cdp_pdev_param_monitor_chan);
dp_monitor_set_chan_num(pdev, val.cdp_pdev_param_monitor_chan);
break;
case CDP_MONITOR_FREQUENCY:
chan_band = wlan_reg_freq_to_band(val.cdp_pdev_param_mon_freq);
monitor_set_chan_freq(pdev, val.cdp_pdev_param_mon_freq);
monitor_set_chan_band(pdev, chan_band);
dp_monitor_set_chan_freq(pdev, val.cdp_pdev_param_mon_freq);
dp_monitor_set_chan_band(pdev, chan_band);
break;
case CDP_CONFIG_BSS_COLOR:
monitor_set_bsscolor(pdev, val.cdp_pdev_param_bss_color);
dp_monitor_set_bsscolor(pdev, val.cdp_pdev_param_bss_color);
break;
case CDP_SET_ATF_STATS_ENABLE:
monitor_set_atf_stats_enable(pdev,
dp_monitor_set_atf_stats_enable(pdev,
val.cdp_pdev_param_atf_stats_enable);
break;
case CDP_CONFIG_SPECIAL_VAP:
dp_monitor_pdev_config_spcl_vap(pdev,
val.cdp_pdev_param_config_special_vap);
monitor_vdev_set_monitor_mode_buf_rings(pdev);
dp_monitor_vdev_set_monitor_mode_buf_rings(pdev);
break;
case CDP_RESET_SPCL_VAP_STATS_ENABLE:
dp_monitor_pdev_reset_spcl_vap_stats_enable(pdev,
@@ -11339,7 +11338,7 @@ static QDF_STATUS dp_bus_suspend(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
qdf_timer_stop(&soc->int_timer);
/* Stop monitor reap timer and reap any pending frames in ring */
monitor_pktlog_reap_pending_frames(pdev);
dp_monitor_pktlog_reap_pending_frames(pdev);
dp_suspend_fse_cache_flush(soc);
@@ -11360,7 +11359,7 @@ static QDF_STATUS dp_bus_resume(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
qdf_timer_mod(&soc->int_timer, DP_INTR_POLL_TIMER_MS);
/* Start monitor reap timer */
monitor_pktlog_start_reap_timer(pdev);
dp_monitor_pktlog_start_reap_timer(pdev);
dp_resume_fse_cache_flush(soc);
@@ -11389,7 +11388,7 @@ static void dp_process_wow_ack_rsp(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
* response from FW reap mon status ring to make sure no packets pending
* in the ring.
*/
monitor_pktlog_reap_pending_frames(pdev);
dp_monitor_pktlog_reap_pending_frames(pdev);
}
/**
@@ -11411,7 +11410,7 @@ static void dp_process_target_suspend_req(struct cdp_soc_t *soc_hdl,
}
/* Stop monitor reap timer and reap any pending frames in ring */
monitor_pktlog_reap_pending_frames(pdev);
dp_monitor_pktlog_reap_pending_frames(pdev);
}
static struct cdp_bus_ops dp_ops_bus = {
@@ -11735,7 +11734,7 @@ void *dp_soc_init(struct dp_soc *soc, HTC_HANDLE htc_handle,
dp_soc_cfg_init(soc);
monitor_soc_cfg_init(soc);
dp_monitor_soc_cfg_init(soc);
/* Reset/Initialize wbm sg list and flags */
dp_rx_wbm_sg_list_reset(soc);
@@ -13250,8 +13249,8 @@ static QDF_STATUS dp_pdev_init(struct cdp_soc_t *txrx_soc,
goto fail8;
}
if (monitor_pdev_init(pdev)) {
dp_init_err("%pK: monitor_pdev_init failed\n", soc);
if (dp_monitor_pdev_init(pdev)) {
dp_init_err("%pK: dp_monitor_pdev_init failed\n", soc);
goto fail9;
}

View File

@@ -2274,7 +2274,7 @@ static inline struct dp_peer *dp_peer_find_add_id(struct dp_soc *soc,
dp_peer_find_id_to_obj_add(soc, peer, peer_id);
if (peer->peer_id == HTT_INVALID_PEER) {
peer->peer_id = peer_id;
monitor_peer_tid_peer_id_update(soc, peer,
dp_monitor_peer_tid_peer_id_update(soc, peer,
peer->peer_id);
} else {
QDF_ASSERT(0);
@@ -3327,7 +3327,7 @@ void dp_peer_cleanup(struct dp_vdev *vdev, struct dp_peer *peer)
/* save vdev related member in case vdev freed */
vdev_opmode = vdev->opmode;
monitor_peer_tx_cleanup(vdev, peer);
dp_monitor_peer_tx_cleanup(vdev, peer);
if (vdev_opmode != wlan_op_mode_monitor)
/* cleanup the Rx reorder queues for this peer */

View File

@@ -909,7 +909,7 @@ uint8_t dp_rx_process_invalid_peer(struct dp_soc *soc, qdf_nbuf_t mpdu,
goto free;
}
if (monitor_filter_neighbour_peer(pdev, rx_pkt_hdr) ==
if (dp_monitor_filter_neighbour_peer(pdev, rx_pkt_hdr) ==
QDF_STATUS_SUCCESS)
return 0;
@@ -939,9 +939,11 @@ out:
* in order to avoid HM_WDS false addition.
*/
if (pdev->soc->cdp_soc.ol_ops->rx_invalid_peer) {
if (monitor_drop_inv_peer_pkts(vdev, wh) == QDF_STATUS_SUCCESS)
if (dp_monitor_drop_inv_peer_pkts(vdev) == QDF_STATUS_SUCCESS) {
dp_rx_warn("%pK: Drop inv peer pkts with STA RA:%pm",
soc, wh->i_addr1);
goto free;
}
pdev->soc->cdp_soc.ol_ops->rx_invalid_peer(
(struct cdp_ctrl_objmgr_psoc *)soc->ctrl_psoc,
pdev->pdev_id, &msg);

View File

@@ -320,6 +320,10 @@ dp_rx_msdus_drop(struct dp_soc *soc, hal_ring_desc_t ring_desc,
&buf_info);
link_desc_va = dp_rx_cookie_2_link_desc_va(soc, &buf_info);
if (!link_desc_va) {
dp_rx_err_debug("link desc va is null, soc %pk", soc);
return rx_bufs_used;
}
more_msdu_link_desc:
/* No UNMAP required -- this is "malloc_consistent" memory */
@@ -917,7 +921,7 @@ dp_rx_chain_msdus(struct dp_soc *soc, qdf_nbuf_t nbuf,
dp_pdev->invalid_peer_head_msdu = NULL;
dp_pdev->invalid_peer_tail_msdu = NULL;
monitor_get_mpdu_status(dp_pdev, soc, rx_tlv_hdr);
dp_monitor_get_mpdu_status(dp_pdev, soc, rx_tlv_hdr);
}
if (dp_pdev->ppdu_id == hal_rx_attn_phy_ppdu_id_get(soc->hal_soc,

View File

@@ -6216,7 +6216,7 @@ dp_print_pdev_tx_stats(struct dp_pdev *pdev)
DP_PRINT_STATS("BA not received for delayed_ba: %d",
pdev->stats.cdp_delayed_ba_not_recev);
monitor_print_tx_stats(pdev);
dp_monitor_print_tx_stats(pdev);
DP_PRINT_STATS("tx_ppdu_proc: %llu",
pdev->stats.tx_ppdu_proc);
@@ -6233,7 +6233,7 @@ dp_print_pdev_tx_stats(struct dp_pdev *pdev)
i, pdev->stats.wdi_event[i]);
}
monitor_print_pdev_tx_capture_stats(pdev);
dp_monitor_print_pdev_tx_capture_stats(pdev);
}
void

View File

@@ -1994,7 +1994,7 @@ dp_tx_send_msdu_single(struct dp_vdev *vdev, qdf_nbuf_t nbuf,
HTT_TX_TCL_METADATA_VALID_HTT_SET(htt_tcl_metadata, 1);
dp_tx_desc_update_fast_comp_flag(soc, tx_desc,
!monitor_is_enable_enhanced_stats(pdev));
!dp_monitor_is_enable_enhanced_stats(pdev));
dp_tx_update_mesh_flags(soc, vdev, tx_desc);
@@ -3839,7 +3839,7 @@ static inline void dp_tx_sojourn_stats_process(struct dp_pdev *pdev,
uint64_t delta_ms;
struct cdp_tx_sojourn_stats *sojourn_stats;
if (qdf_unlikely(!monitor_is_enable_enhanced_stats(pdev)))
if (qdf_unlikely(!dp_monitor_is_enable_enhanced_stats(pdev)))
return;
if (qdf_unlikely(tid == HTT_INVALID_TID ||
@@ -3929,7 +3929,7 @@ dp_tx_comp_process_desc(struct dp_soc *soc,
dp_tx_enh_unmap(soc, desc);
if (QDF_STATUS_SUCCESS ==
monitor_tx_add_to_comp_queue(soc, desc, ts, peer)) {
dp_monitor_tx_add_to_comp_queue(soc, desc, ts, peer)) {
return;
}

View File

@@ -1179,8 +1179,8 @@ dp_get_completion_indication_for_stack(struct dp_soc *soc,
uint8_t last_msdu = ts->last_msdu;
uint32_t txcap_hdr_size = sizeof(struct tx_capture_hdr);
if (qdf_unlikely(!monitor_is_enable_tx_sniffer(pdev) &&
!monitor_is_enable_mcopy_mode(pdev) &&
if (qdf_unlikely(!dp_monitor_is_enable_tx_sniffer(pdev) &&
!dp_monitor_is_enable_mcopy_mode(pdev) &&
!pdev->latency_capture_enable))
return QDF_STATUS_E_NOSUPPORT;
@@ -1194,8 +1194,10 @@ dp_get_completion_indication_for_stack(struct dp_soc *soc,
* per PPDU. If mcopy_mode is M_COPY_EXTENDED deliver 1st MSDU
* for each MPDU
*/
if (monitor_mcopy_check_deliver(pdev, peer_id, ppdu_id, first_msdu) !=
QDF_STATUS_SUCCESS)
if (dp_monitor_mcopy_check_deliver(pdev,
peer_id,
ppdu_id,
first_msdu) != QDF_STATUS_SUCCESS)
return QDF_STATUS_E_INVAL;
if (qdf_unlikely(qdf_nbuf_headroom(netbuf) < txcap_hdr_size)) {

View File

@@ -234,7 +234,7 @@ dp_rx_wds_add_or_update_ast(struct dp_soc *soc, struct dp_peer *ta_peer,
* smart monitor is enabled and send add_ast command
* to FW.
*/
monitor_neighbour_peer_add_ast(pdev, ta_peer,
dp_monitor_neighbour_peer_add_ast(pdev, ta_peer,
wds_src_mac, nbuf,
flags);
return;

View File

@@ -188,7 +188,7 @@ dp_wdi_event_sub(
return -EINVAL;
}
monitor_set_pktlog_wifi3(txrx_pdev, event, true);
dp_monitor_set_pktlog_wifi3(txrx_pdev, event, true);
event_index = event - WDI_EVENT_BASE;
wdi_sub = txrx_pdev->wdi_event_list[event_index];
@@ -250,7 +250,7 @@ dp_wdi_event_unsub(
return -EINVAL;
}
monitor_set_pktlog_wifi3(txrx_pdev, event, false);
dp_monitor_set_pktlog_wifi3(txrx_pdev, event, false);
if (!event_cb_sub->priv.prev) {
txrx_pdev->wdi_event_list[event_index] = event_cb_sub->priv.next;

View File

@@ -32,10 +32,6 @@
#include "dp_ratetable.h"
#endif
#define RNG_ERR "SRNG setup failed for"
#define mon_init_err(params...) QDF_TRACE_ERROR(QDF_MODULE_ID_DP_INIT, params)
#define mon_init_info(params...) \
__QDF_TRACE_FL(QDF_TRACE_LEVEL_INFO_HIGH, QDF_MODULE_ID_DP_INIT, ## params)
#define HTT_MGMT_CTRL_TLV_HDR_RESERVERD_LEN 16
#define HTT_TLV_HDR_LEN HTT_T2H_EXT_STATS_CONF_TLV_HDR_SIZE
#define HTT_SHIFT_UPPER_TIMESTAMP 32
@@ -165,20 +161,20 @@ QDF_STATUS dp_mon_dest_rings_init(struct dp_pdev *pdev, int lmac_id)
if (soc->wlan_cfg_ctx->rxdma1_enable) {
if (dp_srng_init(soc, &soc->rxdma_mon_buf_ring[lmac_id],
RXDMA_MONITOR_BUF, 0, lmac_id)) {
mon_init_err("%pK: " RNG_ERR "rxdma_mon_buf_ring ",
dp_mon_err("%pK: " RNG_ERR "rxdma_mon_buf_ring ",
soc);
goto fail1;
}
if (dp_srng_init(soc, &soc->rxdma_mon_dst_ring[lmac_id],
RXDMA_MONITOR_DST, 0, lmac_id)) {
mon_init_err("%pK: " RNG_ERR "rxdma_mon_dst_ring", soc);
dp_mon_err("%pK: " RNG_ERR "rxdma_mon_dst_ring", soc);
goto fail1;
}
if (dp_srng_init(soc, &soc->rxdma_mon_desc_ring[lmac_id],
RXDMA_MONITOR_DESC, 0, lmac_id)) {
mon_init_err("%pK: " RNG_ERR "rxdma_mon_desc_ring",
dp_mon_err("%pK: " RNG_ERR "rxdma_mon_desc_ring",
soc);
goto fail1;
}
@@ -217,7 +213,7 @@ QDF_STATUS dp_mon_rings_init(struct dp_soc *soc, struct dp_pdev *pdev)
if (dp_srng_init(soc, &soc->rxdma_mon_status_ring[lmac_id],
RXDMA_MONITOR_STATUS, 0, lmac_id)) {
mon_init_err("%pK: " RNG_ERR "rxdma_mon_status_ring",
dp_mon_err("%pK: " RNG_ERR "rxdma_mon_status_ring",
soc);
goto fail1;
}
@@ -244,20 +240,20 @@ QDF_STATUS dp_mon_dest_rings_alloc(struct dp_pdev *pdev, int lmac_id)
entries = wlan_cfg_get_dma_mon_buf_ring_size(pdev_cfg_ctx);
if (dp_srng_alloc(soc, &soc->rxdma_mon_buf_ring[lmac_id],
RXDMA_MONITOR_BUF, entries, 0)) {
mon_init_err("%pK: " RNG_ERR "rxdma_mon_buf_ring ",
dp_mon_err("%pK: " RNG_ERR "rxdma_mon_buf_ring ",
soc);
goto fail1;
}
entries = wlan_cfg_get_dma_mon_dest_ring_size(pdev_cfg_ctx);
if (dp_srng_alloc(soc, &soc->rxdma_mon_dst_ring[lmac_id],
RXDMA_MONITOR_DST, entries, 0)) {
mon_init_err("%pK: " RNG_ERR "rxdma_mon_dst_ring", soc);
dp_mon_err("%pK: " RNG_ERR "rxdma_mon_dst_ring", soc);
goto fail1;
}
entries = wlan_cfg_get_dma_mon_desc_ring_size(pdev_cfg_ctx);
if (dp_srng_alloc(soc, &soc->rxdma_mon_desc_ring[lmac_id],
RXDMA_MONITOR_DESC, entries, 0)) {
mon_init_err("%pK: " RNG_ERR "rxdma_mon_desc_ring",
dp_mon_err("%pK: " RNG_ERR "rxdma_mon_desc_ring",
soc);
goto fail1;
}
@@ -298,7 +294,7 @@ QDF_STATUS dp_mon_rings_alloc(struct dp_soc *soc, struct dp_pdev *pdev)
entries = wlan_cfg_get_dma_mon_stat_ring_size(pdev_cfg_ctx);
if (dp_srng_alloc(soc, &soc->rxdma_mon_status_ring[lmac_id],
RXDMA_MONITOR_STATUS, entries, 0)) {
mon_init_err("%pK: " RNG_ERR "rxdma_mon_status_ring",
dp_mon_err("%pK: " RNG_ERR "rxdma_mon_status_ring",
soc);
goto fail1;
}
@@ -822,7 +818,7 @@ static void dp_flush_monitor_rings(struct dp_soc *soc)
qdf_spin_lock_bh(&mon_pdev->mon_lock);
dp_mon_filter_reset_mon_mode(pdev);
if (dp_mon_filter_update(pdev) != QDF_STATUS_SUCCESS)
dp_info("failed to reset monitor filters");
dp_mon_info("failed to reset monitor filters");
qdf_spin_unlock_bh(&mon_pdev->mon_lock);
if (mon_pdev->mon_chan_band == REG_BAND_UNKNOWN)
@@ -839,12 +835,12 @@ static void dp_flush_monitor_rings(struct dp_soc *soc)
budget = wlan_cfg_get_dma_mon_stat_ring_size(pdev->wlan_cfg_ctx);
hal_get_sw_hptp(hal_soc, mon_dst_srng, &tp, &hp);
dp_info("Before reap: Monitor DST ring HP %u TP %u", hp, tp);
dp_mon_info("Before reap: Monitor DST ring HP %u TP %u", hp, tp);
dp_mon_process(soc, &soc->intr_ctx[dp_intr_id], lmac_id, budget);
hal_get_sw_hptp(hal_soc, mon_dst_srng, &tp, &hp);
dp_info("After reap: Monitor DST ring HP %u TP %u", hp, tp);
dp_mon_info("After reap: Monitor DST ring HP %u TP %u", hp, tp);
}
#if !defined(DISABLE_MON_CONFIG)
@@ -865,7 +861,7 @@ QDF_STATUS dp_mon_htt_dest_srng_setup(struct dp_soc *soc,
RXDMA_MONITOR_BUF);
if (status != QDF_STATUS_SUCCESS) {
dp_err("Failed to send htt srng setup message for Rxdma mon buf ring");
dp_mon_err("Failed to send htt srng setup message for Rxdma mon buf ring");
return status;
}
@@ -875,7 +871,7 @@ QDF_STATUS dp_mon_htt_dest_srng_setup(struct dp_soc *soc,
RXDMA_MONITOR_DST);
if (status != QDF_STATUS_SUCCESS) {
dp_err("Failed to send htt srng setup message for Rxdma mon dst ring");
dp_mon_err("Failed to send htt srng setup message for Rxdma mon dst ring");
return status;
}
@@ -885,7 +881,7 @@ QDF_STATUS dp_mon_htt_dest_srng_setup(struct dp_soc *soc,
RXDMA_MONITOR_DESC);
if (status != QDF_STATUS_SUCCESS) {
dp_err("Failed to send htt srng message for Rxdma mon desc ring");
dp_mon_err("Failed to send htt srng message for Rxdma mon desc ring");
return status;
}
}
@@ -930,7 +926,7 @@ QDF_STATUS dp_mon_htt_srng_setup(struct dp_soc *soc,
RXDMA_MONITOR_STATUS);
if (status != QDF_STATUS_SUCCESS) {
dp_err("Failed to send htt srng setup message for Rxdma mon status ring");
dp_mon_err("Failed to send htt srng setup message for Rxdma mon status ring");
return status;
}
@@ -958,7 +954,7 @@ QDF_STATUS dp_mon_htt_srng_setup(struct dp_soc *soc,
RXDMA_MONITOR_STATUS);
if (status != QDF_STATUS_SUCCESS) {
dp_err("Failed to send htt srng setup message for Rxdma mon status ring");
dp_mon_err("Failed to send htt srng setup msg for Rxdma mon status ring");
return status;
}
@@ -2940,7 +2936,7 @@ void dp_ppdu_desc_deliver(struct dp_pdev *pdev,
if (!s_ppdu_info->done && !recv_ack_ba_done) {
if (time_delta < MAX_SCHED_STARVE) {
dp_info("pdev[%d] ppdu_id[%d] sched_cmdid[%d] TLV_B[0x%x] TSF[%u] D[%d]",
dp_mon_info("pdev[%d] ppdu_id[%d] sched_cmdid[%d] TLV_B[0x%x] TSF[%u] D[%d]",
pdev->pdev_id,
s_ppdu_info->ppdu_id,
s_ppdu_info->sched_cmdid,
@@ -2964,7 +2960,7 @@ void dp_ppdu_desc_deliver(struct dp_pdev *pdev,
ppdu_desc->tlv_bitmap = s_ppdu_info->tlv_bitmap;
if (starved) {
dp_err("ppdu starved fc[0x%x] h_ftype[%d] tlv_bitmap[0x%x] cs[%d]\n",
dp_mon_err("ppdu starved fc[0x%x] h_ftype[%d] tlv_bitmap[0x%x] cs[%d]\n",
ppdu_desc->frame_ctrl,
ppdu_desc->htt_frame_type,
ppdu_desc->tlv_bitmap,
@@ -3885,7 +3881,7 @@ static int dp_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event,
}
if (mon_soc->reap_timer_init &&
(!monitor_is_enable_reap_timer_non_pkt(pdev)))
(!dp_mon_is_enable_reap_timer_non_pkt(pdev)))
qdf_timer_mod(&mon_soc->mon_reap_timer,
DP_INTR_POLL_TIMER_MS);
}
@@ -3916,7 +3912,7 @@ static int dp_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event,
}
if (mon_soc->reap_timer_init &&
(!monitor_is_enable_reap_timer_non_pkt(pdev)))
(!dp_mon_is_enable_reap_timer_non_pkt(pdev)))
qdf_timer_mod(&mon_soc->mon_reap_timer,
DP_INTR_POLL_TIMER_MS);
}
@@ -3939,7 +3935,7 @@ static int dp_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event,
/* Nothing needs to be done if monitor mode is
* enabled
*/
dp_info("Monitor mode, CBF setting filters");
dp_mon_info("Mon mode, CBF setting filters");
mon_pdev->rx_pktlog_cbf = true;
return 0;
}
@@ -3950,12 +3946,12 @@ static int dp_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event,
/*
* Set the packet log lite mode filter.
*/
qdf_info("Non monitor mode: Enable destination ring");
qdf_info("Non mon mode: Enable destination ring");
dp_mon_filter_setup_rx_pkt_log_cbf(pdev);
if (dp_mon_filter_update(pdev) !=
QDF_STATUS_SUCCESS) {
dp_err("Pktlog set CBF filters failed");
dp_mon_err("Pktlog set CBF filters failed");
dp_mon_filter_reset_rx_pktlog_cbf(pdev);
mon_pdev->rx_pktlog_mode =
DP_RX_PKTLOG_DISABLED;
@@ -3964,7 +3960,7 @@ static int dp_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event,
}
if (mon_soc->reap_timer_init &&
!monitor_is_enable_reap_timer_non_pkt(pdev))
!dp_mon_is_enable_reap_timer_non_pkt(pdev))
qdf_timer_mod(&mon_soc->mon_reap_timer,
DP_INTR_POLL_TIMER_MS);
}
@@ -4004,7 +4000,7 @@ static int dp_set_pktlog_wifi3(struct dp_pdev *pdev, uint32_t event,
}
if (mon_soc->reap_timer_init &&
(!monitor_is_enable_reap_timer_non_pkt(pdev)))
(!dp_mon_is_enable_reap_timer_non_pkt(pdev)))
qdf_timer_stop(&mon_soc->mon_reap_timer);
}
break;
@@ -4067,14 +4063,14 @@ static void dp_pktlogmod_exit(struct dp_pdev *pdev)
struct dp_mon_pdev *mon_pdev = pdev->monitor_pdev;
if (!scn) {
dp_err("Invalid hif(scn) handle");
dp_mon_err("Invalid hif(scn) handle");
return;
}
/* stop mon_reap_timer if it has been started */
if (mon_pdev->rx_pktlog_mode != DP_RX_PKTLOG_DISABLED &&
mon_soc->reap_timer_init &&
(!monitor_is_enable_reap_timer_non_pkt(pdev)))
(!dp_mon_is_enable_reap_timer_non_pkt(pdev)))
qdf_timer_sync_cancel(&mon_soc->mon_reap_timer);
pktlogmod_exit(scn);
@@ -4411,14 +4407,14 @@ static void dp_cfr_filter(struct cdp_soc_t *soc_hdl,
pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
if (!pdev) {
dp_err("pdev is NULL");
dp_mon_err("pdev is NULL");
return;
}
mon_pdev = pdev->monitor_pdev;
if (mon_pdev->mvdev) {
dp_info("No action is needed since monitor mode is enabled\n");
dp_mon_info("No action is needed since mon mode is enabled\n");
return;
}
soc = pdev->soc;
@@ -4426,8 +4422,8 @@ static void dp_cfr_filter(struct cdp_soc_t *soc_hdl,
max_mac_rings = wlan_cfg_get_num_mac_rings(pdev->wlan_cfg_ctx);
dp_is_hw_dbs_enable(soc, &max_mac_rings);
dp_debug("Max_mac_rings %d", max_mac_rings);
dp_info("enable : %d, mode: 0x%x", enable, filter_val->mode);
dp_mon_debug("Max_mac_rings %d", max_mac_rings);
dp_mon_info("enable : %d, mode: 0x%x", enable, filter_val->mode);
if (enable) {
pdev->cfr_rcc_mode = true;
@@ -4487,19 +4483,19 @@ dp_enable_mon_reap_timer(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
pdev = dp_get_pdev_from_soc_pdev_id_wifi3(soc, pdev_id);
if (!pdev) {
dp_err("pdev is NULL");
dp_mon_err("pdev is NULL");
return;
}
mon_pdev = pdev->monitor_pdev;
mon_pdev->enable_reap_timer_non_pkt = enable;
if (mon_pdev->rx_pktlog_mode != DP_RX_PKTLOG_DISABLED) {
dp_debug("pktlog enabled %d", mon_pdev->rx_pktlog_mode);
dp_mon_debug("pktlog enabled %d", mon_pdev->rx_pktlog_mode);
return;
}
if (!mon_soc->reap_timer_init) {
dp_err("reap timer not init");
dp_mon_err("reap timer not init");
return;
}
@@ -4529,14 +4525,14 @@ void dp_pkt_log_init(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, void *scn)
struct dp_mon_pdev *mon_pdev;
if (!handle) {
dp_err("pdev handle is NULL");
dp_mon_err("pdev handle is NULL");
return;
}
mon_pdev = handle->monitor_pdev;
if (mon_pdev->pkt_log_init) {
mon_init_err("%pK: Packet log not initialized", soc);
dp_mon_err("%pK: Packet log not initialized", soc);
return;
}
@@ -4717,7 +4713,7 @@ QDF_STATUS dp_peer_qos_stats_notify(struct dp_pdev *dp_pdev,
struct cdp_interface_peer_qos_stats qos_stats_intf;
if (ppdu_user->peer_id == HTT_INVALID_PEER) {
dp_err("Invalid peer id");
dp_mon_err("Invalid peer id");
return QDF_STATUS_E_FAILURE;
}
qdf_mem_zero(&qos_stats_intf, sizeof(qos_stats_intf));
@@ -4776,7 +4772,7 @@ dp_enable_peer_based_pktlog(struct cdp_soc_t *soc, uint8_t pdev_id,
0, DP_VDEV_ALL, DP_MOD_ID_CDP);
if (!peer) {
dp_err("Invalid Peer");
dp_mon_err("Invalid Peer");
return QDF_STATUS_E_FAILURE;
}
@@ -4871,7 +4867,7 @@ static QDF_STATUS dp_vdev_set_monitor_mode_rings(struct dp_pdev *pdev,
/* Allocate sw rx descriptor pool for mon RxDMA buffer ring */
status = dp_rx_pdev_mon_buf_desc_pool_alloc(pdev, mac_for_pdev);
if (!QDF_IS_STATUS_SUCCESS(status)) {
dp_err("%s: dp_rx_pdev_mon_buf_desc_pool_alloc() failed\n",
dp_mon_err("%s: dp_rx_pdev_mon_buf_desc_pool_alloc() failed\n",
__func__);
goto fail0;
}
@@ -4902,7 +4898,7 @@ static QDF_STATUS dp_vdev_set_monitor_mode_rings(struct dp_pdev *pdev,
/* Allocate link descriptors for the mon link descriptor ring */
status = dp_hw_link_desc_pool_banks_alloc(soc, mac_for_pdev);
if (!QDF_IS_STATUS_SUCCESS(status)) {
dp_err("%s: dp_hw_link_desc_pool_banks_alloc() failed",
dp_mon_err("%s: dp_hw_link_desc_pool_banks_alloc() failed",
__func__);
goto fail0;
}
@@ -4959,12 +4955,12 @@ static void dp_mon_vdev_timer(void *arg)
while (yield == DP_TIMER_NO_YIELD) {
for (lmac_iter = 0; lmac_iter < max_mac_rings; lmac_iter++) {
if (lmac_iter == lmac_id)
work_done = monitor_process(soc, NULL,
work_done = dp_mon_process(soc, NULL,
lmac_iter,
remaining_quota);
else
work_done =
monitor_drop_packets_for_mac(pdev,
dp_mon_drop_packets_for_mac(pdev,
lmac_iter,
remaining_quota);
if (work_done) {
@@ -5341,12 +5337,12 @@ QDF_STATUS dp_mon_soc_cfg_init(struct dp_soc *soc)
mon_soc->hw_nac_monitor_support = 1;
break;
default:
qdf_print("%s: Unknown tgt type %d\n", __func__, target_type);
dp_mon_info("%s: Unknown tgt type %d\n", __func__, target_type);
qdf_assert_always(0);
break;
}
mon_init_info("hw_nac_monitor_support = %d",
dp_mon_info("hw_nac_monitor_support = %d",
mon_soc->hw_nac_monitor_support);
return QDF_STATUS_SUCCESS;
@@ -5358,7 +5354,7 @@ QDF_STATUS dp_mon_pdev_attach(struct dp_pdev *pdev)
struct dp_mon_pdev *mon_pdev;
if (!pdev) {
mon_init_err("pdev is NULL");
dp_mon_err("pdev is NULL");
goto fail0;
}
@@ -5366,18 +5362,19 @@ QDF_STATUS dp_mon_pdev_attach(struct dp_pdev *pdev)
mon_pdev = (struct dp_mon_pdev *)qdf_mem_malloc(sizeof(*mon_pdev));
if (!mon_pdev) {
mon_init_err("%pK: MONITOR pdev allocation failed", pdev);
dp_mon_err("%pK: MONITOR pdev allocation failed", pdev);
goto fail0;
}
if (dp_mon_rings_alloc(soc, pdev)) {
mon_init_err("%pK: MONITOR rings setup failed", pdev);
dp_mon_err("%pK: MONITOR rings setup failed", pdev);
goto fail1;
}
/* Rx monitor mode specific init */
if (dp_rx_pdev_mon_desc_pool_alloc(pdev)) {
mon_init_err("%pK: dp_rx_pdev_mon_attach failed", pdev);
dp_mon_err("%pK: dp_rx_pdev_mon_desc_pool_alloc failed",
pdev);
goto fail2;
}
@@ -5398,7 +5395,7 @@ QDF_STATUS dp_mon_pdev_detach(struct dp_pdev *pdev)
struct dp_mon_pdev *mon_pdev;
if (!pdev) {
mon_init_err("pdev is NULL");
dp_mon_err("pdev is NULL");
return QDF_STATUS_E_FAILURE;
}
mon_pdev = pdev->monitor_pdev;
@@ -5415,7 +5412,7 @@ QDF_STATUS dp_mon_pdev_init(struct dp_pdev *pdev)
struct dp_mon_pdev *mon_pdev;
if (!pdev) {
mon_init_err("pdev is NULL");
dp_mon_err("pdev is NULL");
return QDF_STATUS_E_FAILURE;
}
@@ -5424,7 +5421,7 @@ QDF_STATUS dp_mon_pdev_init(struct dp_pdev *pdev)
mon_pdev->filter = dp_mon_filter_alloc(mon_pdev);
if (!mon_pdev->filter) {
mon_init_err("%pK: Memory allocation failed for monitor filter",
dp_mon_err("%pK: Memory allocation failed for monitor filter",
pdev);
return QDF_STATUS_E_NOMEM;
}
@@ -5463,7 +5460,7 @@ QDF_STATUS dp_mon_pdev_init(struct dp_pdev *pdev)
goto fail0;
if (dp_mon_rings_init(soc, pdev)) {
mon_init_err("%pK: MONITOR rings setup failed", pdev);
dp_mon_err("%pK: MONITOR rings setup failed", pdev);
goto fail1;
}
/* initialize sw monitor rx descriptors */
@@ -5513,7 +5510,7 @@ static QDF_STATUS dp_mon_vdev_attach(struct dp_vdev *vdev)
mon_vdev = (struct dp_mon_vdev *)qdf_mem_malloc(sizeof(*mon_vdev));
if (!mon_vdev) {
mon_init_err("%pK: Monitor vdev allocation failed", vdev);
dp_mon_err("%pK: Monitor vdev allocation failed", vdev);
return QDF_STATUS_E_NOMEM;
}
@@ -5544,7 +5541,7 @@ static QDF_STATUS dp_mon_peer_attach(struct dp_peer *peer)
mon_peer = (struct dp_mon_peer *)qdf_mem_malloc(sizeof(*mon_peer));
if (!mon_peer) {
mon_init_err("%pK: MONITOR peer allocation failed", peer);
dp_mon_err("%pK: MONITOR peer allocation failed", peer);
return QDF_STATUS_E_NOMEM;
}
@@ -5677,7 +5674,7 @@ void dp_mon_cdp_ops_register(struct dp_soc *soc)
struct cdp_ops *ops = soc->cdp_soc.ops;
if (!ops) {
mon_init_err("cdp_ops is NULL");
dp_mon_err("cdp_ops is NULL");
return;
}
@@ -5727,7 +5724,7 @@ void dp_mon_cdp_ops_deregister(struct dp_soc *soc)
struct cdp_ops *ops = soc->cdp_soc.ops;
if (!ops) {
mon_init_err("cdp_ops is NULL");
dp_mon_err("cdp_ops is NULL");
return;
}
@@ -5768,13 +5765,13 @@ QDF_STATUS dp_mon_soc_attach(struct dp_soc *soc)
struct dp_mon_soc *mon_soc;
if (!soc) {
mon_init_err("dp_soc is NULL");
dp_mon_err("dp_soc is NULL");
return QDF_STATUS_E_FAILURE;
}
mon_soc = (struct dp_mon_soc *)qdf_mem_malloc(sizeof(*mon_soc));
if (!mon_soc) {
mon_init_err("%pK: mem allocation failed", soc);
dp_mon_err("%pK: mem allocation failed", soc);
return QDF_STATUS_E_NOMEM;
}
/* register monitor ops */
@@ -5790,7 +5787,7 @@ QDF_STATUS dp_mon_soc_detach(struct dp_soc *soc)
struct dp_mon_soc *mon_soc;
if (!soc) {
mon_init_err("dp_soc is NULL");
dp_mon_err("dp_soc is NULL");
return QDF_STATUS_E_FAILURE;
}

File diff suppressed because it is too large Load Diff