瀏覽代碼

qcacmn: Add DFS full offload check for dfs radar process

Do not enable/process the DFS radars in HOST when DFS is offloaded to FW.

Change-Id: Ie025a5ba0e3962ebd276c266ea5afb8635f8a536
CRs-Fixed: 2099937
Shashikala Prabhu 7 年之前
父節點
當前提交
d694b02be9
共有 2 個文件被更改,包括 13 次插入5 次删除
  1. 2 1
      umac/dfs/core/src/misc/dfs.c
  2. 11 4
      umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c

+ 2 - 1
umac/dfs/core/src/misc/dfs.c

@@ -358,7 +358,8 @@ void dfs_reset(struct wlan_dfs *dfs)
 
 	dfs_cac_timer_reset(dfs);
 	dfs_zero_cac_reset(dfs);
-	dfs_main_timer_reset(dfs);
+	if (!dfs->dfs_is_offload_enabled)
+		dfs_main_timer_reset(dfs);
 }
 
 void dfs_main_detach(struct wlan_dfs *dfs)

+ 11 - 4
umac/dfs/dispatcher/src/wlan_dfs_tgt_api.c

@@ -70,7 +70,8 @@ QDF_STATUS tgt_dfs_radar_enable(struct wlan_objmgr_pdev *pdev,
 	if (dfs == NULL)
 		return  QDF_STATUS_E_FAILURE;
 
-	dfs_radar_enable(dfs, no_cac, opmode);
+	if (!dfs->dfs_is_offload_enabled)
+		dfs_radar_enable(dfs, no_cac, opmode);
 
 	return QDF_STATUS_SUCCESS;
 }
@@ -90,8 +91,13 @@ QDF_STATUS tgt_dfs_process_phyerr(struct wlan_objmgr_pdev *pdev,
 	if (dfs == NULL)
 		return  QDF_STATUS_E_FAILURE;
 
-	dfs_process_phyerr(dfs, buf, datalen, r_rssi, r_ext_rssi, r_rs_tstamp,
-			r_fulltsf);
+	if (!dfs->dfs_is_offload_enabled)
+		dfs_process_phyerr(dfs, buf, datalen, r_rssi,
+				r_ext_rssi, r_rs_tstamp, r_fulltsf);
+	else
+		DFS_PRINTK(
+				"%s: Received a pulse from firmware even though the DFS is offloaded\n",
+				__func__);
 
 	return QDF_STATUS_SUCCESS;
 }
@@ -120,7 +126,8 @@ QDF_STATUS tgt_dfs_get_radars(struct wlan_objmgr_pdev *pdev)
 	if (dfs == NULL)
 		return  QDF_STATUS_E_FAILURE;
 
-	dfs_get_radars(dfs);
+	if (!dfs->dfs_is_offload_enabled)
+		dfs_get_radars(dfs);
 
 	return QDF_STATUS_SUCCESS;
 }