Browse Source

qcacmn: Add check for sawf stats

Update deter stats only when sawf stats is enabled

CRs-Fixed: 3471399
Change-Id: Ica417a53e91ebc8415f0f73c3c61b3b35e200de5
aloksing 2 years ago
parent
commit
e7b42ae427
3 changed files with 25 additions and 7 deletions
  1. 10 4
      dp/wifi3.0/monitor/dp_mon.c
  2. 11 3
      dp/wifi3.0/monitor/dp_rx_mon.c
  3. 4 0
      wlan_cfg/wlan_cfg.c

+ 10 - 4
dp/wifi3.0/monitor/dp_mon.c

@@ -4724,8 +4724,10 @@ dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
 	}
 	qdf_assert_always(ppdu_desc->num_users <= ppdu_desc->max_users);
 
-	dp_ppdu_desc_get_txmode(ppdu_desc);
-	dp_pdev_update_deter_stats(pdev, ppdu_desc);
+	if (wlan_cfg_get_sawf_stats_config(pdev->soc->wlan_cfg_ctx)) {
+		dp_ppdu_desc_get_txmode(ppdu_desc);
+		dp_pdev_update_deter_stats(pdev, ppdu_desc);
+	}
 
 	for (i = 0; i < num_users; i++) {
 		ppdu_desc->num_mpdu += ppdu_desc->user[i].num_mpdu;
@@ -4748,8 +4750,12 @@ dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
 
 		dp_tx_ctrl_stats_update(pdev, peer, &ppdu_desc->user[i]);
 
-		dp_ppdu_desc_user_deter_stats_update(pdev, peer, ppdu_desc,
-						     &ppdu_desc->user[i]);
+		if (wlan_cfg_get_sawf_stats_config(pdev->soc->wlan_cfg_ctx)) {
+			dp_ppdu_desc_user_deter_stats_update(pdev,
+							     peer,
+							     ppdu_desc,
+							     &ppdu_desc->user[i]);
+		}
 
 		/*
 		 * different frame like DATA, BAR or CTRL has different

+ 11 - 3
dp/wifi3.0/monitor/dp_rx_mon.c

@@ -1138,7 +1138,11 @@ static void dp_rx_stats_update(struct dp_pdev *pdev,
 		dp_send_stats_event(pdev, peer, ppdu_user->peer_id);
 
 		dp_ppdu_desc_user_rx_time_update(pdev, peer, ppdu, ppdu_user);
-		dp_rx_mon_update_user_deter_stats(pdev, peer, ppdu, ppdu_user);
+
+		if (wlan_cfg_get_sawf_stats_config(pdev->soc->wlan_cfg_ctx))
+			dp_rx_mon_update_user_deter_stats(pdev, peer,
+							  ppdu, ppdu_user);
+
 		dp_peer_unref_delete(peer, DP_MOD_ID_RX_PPDU_STATS);
 	}
 }
@@ -1225,8 +1229,12 @@ dp_rx_handle_ppdu_stats(struct dp_soc *soc, struct dp_pdev *pdev,
 		if (!qdf_unlikely(qdf_nbuf_put_tail(ppdu_nbuf,
 				       sizeof(struct cdp_rx_indication_ppdu))))
 			return;
-		if (cdp_rx_ppdu->u.ppdu_type == HAL_RX_TYPE_SU)
-			dp_rx_mon_update_pdev_deter_stats(pdev, cdp_rx_ppdu);
+
+		if (wlan_cfg_get_sawf_stats_config(pdev->soc->wlan_cfg_ctx)) {
+			if (cdp_rx_ppdu->u.ppdu_type == HAL_RX_TYPE_SU)
+				dp_rx_mon_update_pdev_deter_stats(pdev,
+								  cdp_rx_ppdu);
+		}
 
 		dp_rx_stats_update(pdev, cdp_rx_ppdu);
 

+ 4 - 0
wlan_cfg/wlan_cfg.c

@@ -3781,6 +3781,8 @@ uint8_t wlan_cfg_get_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg)
 	return cfg->sawf_stats;
 }
 
+qdf_export_symbol(wlan_cfg_get_sawf_stats_config);
+
 void wlan_cfg_set_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg,
 				    uint8_t val)
 {
@@ -3798,6 +3800,8 @@ uint8_t wlan_cfg_get_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg)
 	return 0;
 }
 
+qdf_export_symbol(wlan_cfg_get_sawf_stats_config);
+
 void wlan_cfg_set_sawf_stats_config(struct wlan_cfg_dp_soc_ctxt *cfg,
 				    uint8_t val)
 {