소스 검색

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 년 전
부모
커밋
d299c767eb
2개의 변경된 파일1개의 추가작업 그리고 4개의 파일을 삭제
  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);