qcacmn: York Scan radio monitor mode bringup
Initial changes for York scan radio bringup in monitor mode. Update monitor filter settings. Change-Id: Ib9468f11b71d0439d0bd63526f64f454ed6b5b4d CRs-Fixed: 3421412
This commit is contained in:

committed by
Madan Koyyalamudi

parent
87fdda9166
commit
d20a5a657c
@@ -400,12 +400,17 @@ QDF_STATUS dp_vdev_set_monitor_mode_rings(struct dp_pdev *pdev,
|
||||
struct dp_srng *mon_buf_ring;
|
||||
uint32_t num_entries;
|
||||
struct dp_mon_pdev *mon_pdev = pdev->monitor_pdev;
|
||||
|
||||
uint32_t target_type = hal_get_target_type(soc->hal_soc);
|
||||
|
||||
/* If monitor rings are already initialized, return from here */
|
||||
if (mon_pdev->pdev_mon_init)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
if (target_type == TARGET_TYPE_QCN9160) {
|
||||
dp_alert("Mon SOC:%pK config, skip desc pool alloc", soc);
|
||||
goto pass;
|
||||
}
|
||||
|
||||
for (mac_id = 0; mac_id < NUM_RXDMA_RINGS_PER_PDEV; mac_id++) {
|
||||
mac_for_pdev = dp_get_lmac_id_for_pdev_id(pdev->soc, mac_id,
|
||||
pdev->pdev_id);
|
||||
@@ -457,8 +462,8 @@ QDF_STATUS dp_vdev_set_monitor_mode_rings(struct dp_pdev *pdev,
|
||||
soc->rxdma_mon_dst_ring[mac_for_pdev].hal_srng,
|
||||
RXDMA_MONITOR_DST);
|
||||
}
|
||||
pass:
|
||||
mon_pdev->pdev_mon_init = 1;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
fail0:
|
||||
|
@@ -915,6 +915,7 @@ static QDF_STATUS dp_mon_filter_dest_update(struct dp_pdev *pdev,
|
||||
struct dp_mon_pdev *mon_pdev = pdev->monitor_pdev;
|
||||
enum dp_mon_filter_srng_type srng_type;
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
uint32_t target_type = hal_get_target_type(soc->hal_soc);
|
||||
|
||||
srng_type = ((soc->wlan_cfg_ctx->rxdma1_enable) ?
|
||||
DP_MON_FILTER_SRNG_TYPE_RXDMA_MON_BUF :
|
||||
@@ -932,7 +933,8 @@ static QDF_STATUS dp_mon_filter_dest_update(struct dp_pdev *pdev,
|
||||
* For WIN case the monitor buffer ring is used and it does need
|
||||
* reset when monitor mode gets enabled/disabled.
|
||||
*/
|
||||
if (soc->wlan_cfg_ctx->rxdma1_enable) {
|
||||
if (soc->wlan_cfg_ctx->rxdma1_enable ||
|
||||
target_type == TARGET_TYPE_QCN9160) {
|
||||
if (mon_pdev->monitor_configured || *pmon_mode_set) {
|
||||
status = dp_mon_ht2_rx_ring_cfg(soc, pdev,
|
||||
srng_type,
|
||||
|
@@ -272,6 +272,7 @@ dp_mon_ht2_rx_ring_cfg(struct dp_soc *soc,
|
||||
int mac_id;
|
||||
int max_mac_rings = wlan_cfg_get_num_mac_rings(pdev->wlan_cfg_ctx);
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
uint32_t target_type = hal_get_target_type(soc->hal_soc);
|
||||
|
||||
/*
|
||||
* Overwrite the max_mac_rings for the status rings.
|
||||
@@ -295,7 +296,12 @@ dp_mon_ht2_rx_ring_cfg(struct dp_soc *soc,
|
||||
|
||||
switch (srng_type) {
|
||||
case DP_MON_FILTER_SRNG_TYPE_RXDMA_BUF:
|
||||
hal_ring_hdl = pdev->rx_mac_buf_ring[lmac_id].hal_srng;
|
||||
if (target_type == TARGET_TYPE_QCN9160)
|
||||
hal_ring_hdl =
|
||||
soc->rx_refill_buf_ring[lmac_id].hal_srng;
|
||||
else
|
||||
hal_ring_hdl =
|
||||
pdev->rx_mac_buf_ring[lmac_id].hal_srng;
|
||||
hal_ring_type = RXDMA_BUF;
|
||||
ring_buf_size = RX_DATA_BUFFER_SIZE;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user