Browse Source

qcacmn: Do not allocate buffers for buffer ring in smart monitor mode

Smart monitor mode requires buffers on monitor status ring only.
It does not require any buffers on monitor buffer ring.

As an optimization, initialization of descriptor pool and allocation
of buffers for monitor buffer ring is not required. Also filter
settings for monitor buffer ring are not required in smart monitor
mode.

Change-Id: If328b08184865e5472425b5520dd0a364a478c40
CRs-Fixed: 2965717
Harsh Kumar Bijlani 4 năm trước cách đây
mục cha
commit
d299c767eb
2 tập tin đã thay đổi với 1 bổ sung4 xóa
  1. 0 2
      dp/wifi3.0/dp_main.c
  2. 1 2
      dp/wifi3.0/dp_mon_filter.c

+ 0 - 2
dp/wifi3.0/dp_main.c

@@ -7042,8 +7042,6 @@ static int dp_update_filter_neighbour_peers(struct cdp_soc_t *soc_hdl,
 			QDF_STATUS status = QDF_STATUS_SUCCESS;
 
 			pdev->neighbour_peers_added = true;
-			if (!wlan_cfg_is_delay_mon_replenish(soc->wlan_cfg_ctx))
-				dp_vdev_set_monitor_mode_rings(pdev, true);
 
 			dp_mon_filter_setup_smart_monitor(pdev);
 			status = dp_mon_filter_update(pdev);

+ 1 - 2
dp/wifi3.0/dp_mon_filter.c

@@ -1184,8 +1184,7 @@ QDF_STATUS dp_mon_filter_update(struct dp_pdev *pdev)
 		 * reset when monitor mode gets enabled/disabled.
 		 */
 		if (soc->wlan_cfg_ctx->rxdma1_enable) {
-			if (pdev->monitor_configured || mon_mode_set ||
-			    pdev->neighbour_peers_added) {
+			if (pdev->monitor_configured || mon_mode_set) {
 				status = dp_mon_ht2_rx_ring_cfg(soc, pdev,
 							mon_srng_type,
 							&filter.tlv_filter);