qcacmn: Enable low watermark interrupt for WKK RxMON

Enable low watermark interrupt for WKK RxMON

CRs-Fixed: 3347545
Change-Id: Ia78878aab1ded951a2ecd4a276696ac150910c43
This commit is contained in:
Amir Patel
2022-11-28 23:11:35 +05:30
zatwierdzone przez Madan Koyyalamudi
rodzic 6748c79f29
commit 05a6d5283d
2 zmienionych plików z 18 dodań i 17 usunięć

Wyświetl plik

@@ -472,7 +472,7 @@ QDF_STATUS dp_vdev_set_monitor_mode_buf_rings_rx_2_0(struct dp_pdev *pdev)
rx_mon_max_entries = wlan_cfg_get_dp_soc_rx_mon_buf_ring_size(soc_cfg_ctx);
hal_set_low_threshold(soc->rxdma_mon_buf_ring[0].hal_srng,
rx_mon_max_entries >> 2);
MON_BUF_MIN_ENTRIES << 2);
status = htt_srng_setup(soc->htt_handle, 0,
soc->rxdma_mon_buf_ring[0].hal_srng,
RXDMA_MONITOR_BUF);
@@ -782,7 +782,8 @@ QDF_STATUS dp_mon_soc_htt_srng_setup_2_0(struct dp_soc *soc)
struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
QDF_STATUS status;
hal_set_low_threshold(soc->rxdma_mon_buf_ring[0].hal_srng, 0);
hal_set_low_threshold(soc->rxdma_mon_buf_ring[0].hal_srng,
MON_BUF_MIN_ENTRIES << 2);
status = htt_srng_setup(soc->htt_handle, 0,
soc->rxdma_mon_buf_ring[0].hal_srng,
RXDMA_MONITOR_BUF);
@@ -884,7 +885,7 @@ QDF_STATUS dp_rx_mon_refill_buf_ring_2_0(struct dp_intr *int_ctx)
struct dp_intr_stats *intr_stats = &int_ctx->intr_stats;
struct dp_mon_soc_be *mon_soc_be = dp_get_be_mon_soc_from_dp_mon_soc(mon_soc);
uint32_t num_entries_avail;
int sync_hw_ptr = 1;
int sync_hw_ptr = 1, hp = 0, tp = 0;
void *hal_srng;
rx_mon_buf_ring = &soc->rxdma_mon_buf_ring[0];
@@ -896,6 +897,7 @@ QDF_STATUS dp_rx_mon_refill_buf_ring_2_0(struct dp_intr *int_ctx)
num_entries_avail = hal_srng_src_num_avail(soc->hal_soc,
hal_srng,
sync_hw_ptr);
hal_get_sw_hptp(soc->hal_soc, (hal_ring_handle_t)hal_srng, &tp, &hp);
hal_srng_access_end(soc->hal_soc, hal_srng);
if (num_entries_avail)
@@ -1299,7 +1301,7 @@ static void dp_mon_register_intr_ops_2_0(struct dp_soc *soc)
struct dp_mon_soc *mon_soc = soc->monitor_soc;
mon_soc->mon_ops->rx_mon_refill_buf_ring =
NULL,
dp_rx_mon_refill_buf_ring_2_0,
mon_soc->mon_ops->tx_mon_refill_buf_ring =
NULL,
mon_soc->mon_rx_process = dp_rx_mon_process_2_0;

Wyświetl plik

@@ -1018,10 +1018,10 @@ dp_rx_mon_flush_status_buf_queue(struct dp_pdev *pdev)
if (work_done) {
mon_pdev->rx_mon_stats.mon_rx_bufs_replenished_dest +=
work_done;
dp_mon_buffers_replenish(soc, &soc->rxdma_mon_buf_ring[0],
rx_mon_desc_pool,
work_done,
&desc_list, &tail, NULL);
if (desc_list)
dp_mon_add_desc_list_to_free_list(soc,
&desc_list, &tail,
rx_mon_desc_pool);
}
}
@@ -1051,10 +1051,9 @@ dp_rx_mon_handle_flush_n_trucated_ppdu(struct dp_soc *soc,
DP_STATS_INC(mon_soc, frag_free, 1);
dp_mon_add_to_free_desc_list(&desc_list, &tail, mon_desc);
work_done = 1;
dp_mon_buffers_replenish(soc, &soc->rxdma_mon_buf_ring[0],
rx_mon_desc_pool,
work_done,
&desc_list, &tail, NULL);
if (desc_list)
dp_mon_add_desc_list_to_free_list(soc, &desc_list, &tail,
rx_mon_desc_pool);
}
uint8_t dp_rx_mon_process_tlv_status(struct dp_pdev *pdev,
@@ -1514,11 +1513,11 @@ dp_rx_mon_process_status_tlv(struct dp_pdev *pdev)
dp_mon_rx_stats_update_rssi_dbm_params(mon_pdev, ppdu_info);
if (work_done) {
mon_pdev->rx_mon_stats.mon_rx_bufs_replenished_dest +=
work_done;
dp_mon_buffers_replenish(soc, &soc->rxdma_mon_buf_ring[0],
rx_mon_desc_pool,
work_done,
&desc_list, &tail, NULL);
work_done;
if (desc_list)
dp_mon_add_desc_list_to_free_list(soc,
&desc_list, &tail,
rx_mon_desc_pool);
}
ppdu_info->rx_status.tsft = ppdu_info->rx_status.tsft +