Sfoglia il codice sorgente

qcacld-3.0: Add SAP csa reason

Currently, there is no logging for channel switch reason.
Add csa_reason to know the reason for the channel switch.

Change-Id: Iec02d7fa2b1ec51acb97005da220db7de705d7e0
CRs-Fixed: 2483206
Bala Venkatesh 6 anni fa
parent
commit
c5652e59a0

+ 3 - 0
cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h

@@ -1223,6 +1223,7 @@ struct policy_mgr_sme_cbacks {
  * encryption type.
  * @hdd_is_chan_switch_in_progress: Check if in any adater channel switch is in
  * progress
+ * @wlan_hdd_set_sap_csa_reason: Set the sap csa reason in cases like NAN.
  */
 struct policy_mgr_hdd_cbacks {
 	void (*sap_restart_chan_switch_cb)(struct wlan_objmgr_psoc *psoc,
@@ -1239,6 +1240,8 @@ struct policy_mgr_hdd_cbacks {
 	enum QDF_OPMODE (*hdd_get_device_mode)(uint32_t session_id);
 	bool (*hdd_wapi_security_sta_exist)(void);
 	bool (*hdd_is_chan_switch_in_progress)(void);
+	void (*wlan_hdd_set_sap_csa_reason)(struct wlan_objmgr_psoc *psoc,
+					    uint8_t vdev_id, uint8_t reason);
 };
 
 

+ 11 - 0
cmn_services/policy_mgr/src/wlan_policy_mgr_action.c

@@ -34,6 +34,7 @@
 #include "qdf_platform.h"
 #include "wlan_nan_api.h"
 #include "nan_ucfg_api.h"
+#include "sap_api.h"
 
 enum policy_mgr_conc_next_action (*policy_mgr_get_current_pref_hw_mode_ptr)
 	(struct wlan_objmgr_psoc *psoc);
@@ -1555,6 +1556,11 @@ void policy_mgr_nan_sap_post_enable_conc_check(struct wlan_objmgr_psoc *psoc)
 
 	policy_mgr_debug("Force SCC for NAN+SAP Ch: %d",
 			 WLAN_REG_IS_5GHZ_CH(sap_ch) ? nan_ch_5g : nan_ch_2g);
+	if (pm_ctx->hdd_cbacks.wlan_hdd_set_sap_csa_reason)
+		pm_ctx->hdd_cbacks.wlan_hdd_set_sap_csa_reason(psoc,
+					sap_info->vdev_id,
+					CSA_REASON_CONCURRENT_NAN_EVENT);
+
 	if (WLAN_REG_IS_5GHZ_CH(sap_ch)) {
 		policy_mgr_change_sap_channel_with_csa(psoc, sap_info->vdev_id,
 						       nan_ch_5g,
@@ -1608,6 +1614,11 @@ void policy_mgr_nan_sap_post_disable_conc_check(struct wlan_objmgr_psoc *psoc)
 			policy_mgr_err("wait for event failed, still continue with channel switch");
 	}
 
+	if (pm_ctx->hdd_cbacks.wlan_hdd_set_sap_csa_reason)
+		pm_ctx->hdd_cbacks.wlan_hdd_set_sap_csa_reason(psoc,
+					sap_info->vdev_id,
+					CSA_REASON_CONCURRENT_NAN_EVENT);
+
 	policy_mgr_change_sap_channel_with_csa(psoc, sap_info->vdev_id,
 					       sap_ch,
 					       policy_mgr_get_ch_width(