qcacmn: Use appropriate srng id in htt_srng_setup and ring_selction_cg

Use appropriate srng id in htt_srng_setup and ring_selction_cg
for WKK monitor

Change-Id: Ibe04f51f787e6fa3fe0b9d8a8c6a54a33f673139
This commit is contained in:
Amir Patel
2021-12-29 14:33:31 +05:30
committed by Madan Koyyalamudi
parent ca09c6cd98
commit 2219ac036c
2 changed files with 43 additions and 4 deletions

View File

@@ -550,7 +550,8 @@ int htt_srng_setup(struct htt_soc *soc, int mac_id,
(uint64_t)tp_addr);
break;
case RXDMA_MONITOR_BUF:
htt_ring_id = HTT_RXDMA_MONITOR_BUF_RING;
htt_ring_id = dp_htt_get_mon_htt_ring_id(soc->dp_soc,
RXDMA_MONITOR_BUF);
htt_ring_type = HTT_SW_TO_HW_RING;
break;
case RXDMA_MONITOR_STATUS:
@@ -558,7 +559,8 @@ int htt_srng_setup(struct htt_soc *soc, int mac_id,
htt_ring_type = HTT_SW_TO_HW_RING;
break;
case RXDMA_MONITOR_DST:
htt_ring_id = HTT_RXDMA_MONITOR_DEST_RING;
htt_ring_id = dp_htt_get_mon_htt_ring_id(soc->dp_soc,
RXDMA_MONITOR_DST);
htt_ring_type = HTT_HW_TO_SW_RING;
break;
case RXDMA_MONITOR_DESC:
@@ -905,7 +907,8 @@ int htt_h2t_rx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
htt_ring_type = HTT_SW_TO_HW_RING;
break;
case RXDMA_MONITOR_BUF:
htt_ring_id = HTT_RXDMA_MONITOR_BUF_RING;
htt_ring_id = dp_htt_get_mon_htt_ring_id(soc->dp_soc,
RXDMA_MONITOR_BUF);
htt_ring_type = HTT_SW_TO_HW_RING;
break;
case RXDMA_MONITOR_STATUS:
@@ -913,7 +916,8 @@ int htt_h2t_rx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
htt_ring_type = HTT_SW_TO_HW_RING;
break;
case RXDMA_MONITOR_DST:
htt_ring_id = HTT_RXDMA_MONITOR_DEST_RING;
htt_ring_id = dp_htt_get_mon_htt_ring_id(soc->dp_soc,
RXDMA_MONITOR_DST);
htt_ring_type = HTT_HW_TO_SW_RING;
break;
case RXDMA_MONITOR_DESC:

View File

@@ -935,4 +935,39 @@ int htt_h2t_full_mon_cfg(struct htt_soc *htt_soc,
QDF_STATUS dp_h2t_hw_vdev_stats_config_send(struct dp_soc *dpsoc,
uint8_t pdev_id, bool enable,
bool reset, uint64_t reset_bitmask);
static inline enum htt_srng_ring_id
dp_htt_get_mon_htt_ring_id(struct dp_soc *soc,
enum hal_ring_type hal_ring_type)
{
enum htt_srng_ring_id htt_srng_id = 0;
if (wlan_cfg_get_txmon_hw_support(soc->wlan_cfg_ctx)) {
switch (hal_ring_type) {
case RXDMA_MONITOR_BUF:
htt_srng_id = HTT_RX_MON_HOST2MON_BUF_RING;
break;
case RXDMA_MONITOR_DST:
htt_srng_id = HTT_RX_MON_MON2HOST_DEST_RING;
break;
default:
dp_err("Invalid ring type %d ", hal_ring_type);
break;
}
} else {
switch (hal_ring_type) {
case RXDMA_MONITOR_BUF:
htt_srng_id = HTT_RXDMA_MONITOR_BUF_RING;
break;
case RXDMA_MONITOR_DST:
htt_srng_id = HTT_RXDMA_MONITOR_DEST_RING;
break;
default:
dp_err("Invalid ring type %d ", hal_ring_type);
break;
}
}
return htt_srng_id;
}
#endif /* _DP_HTT_H_ */