Browse Source

qcacld-3.0: Print 5g & 6g candidate rssi threshold in kmsg

In case of WTC_BTM roam trigger reason, if FW reports rssi
threshold for 5G and 6G AP via wmi_roam_trigger_reason,
Host should print it in kmsg.

If wtc_candi_rssi_ext_present is set (1), It means fw
reports 5g and 6g candidate rssi (new firmware case).
If wtc_candi_rssi_ext_present is clear (0), It means fw
doesn’t report 5g and 6g candidate rssi (old firmware case).

Host use flag "wtc_candi_rssi_ext_present" to keep backward
compatibility.

Change-Id: Idbaac2e9d470525641c152b024b8786d262e600c
CRs-Fixed: 2965025
abhinav kumar 3 years ago
parent
commit
d6c9e893a0

+ 2 - 0
components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h

@@ -1747,11 +1747,13 @@ struct wlan_cm_roam_rx_ops {
  * trigger partial frequency scans.
  * ROAM_SCAN_FREQ_SCHEME_FULL_SCAN: Indicates the firmware to
  * trigger full frequency scans.
+ * ROAM_SCAN_FREQ_SCHEME_NONE: Invalid scan mode
  */
 enum roam_scan_freq_scheme {
 	ROAM_SCAN_FREQ_SCHEME_NO_SCAN = 0,
 	ROAM_SCAN_FREQ_SCHEME_PARTIAL_SCAN = 1,
 	ROAM_SCAN_FREQ_SCHEME_FULL_SCAN = 2,
+	ROAM_SCAN_FREQ_SCHEME_NONE = 3,
 };
 
 /**

+ 22 - 9
core/wma/src/wma_scan_roam.c

@@ -1578,15 +1578,28 @@ wma_get_trigger_detail_str(struct wmi_roam_trigger_info *roam_info, char *buf)
 		buf_left -= buf_cons;
 		return;
 	case WMI_ROAM_TRIGGER_REASON_WTC_BTM:
-		buf_cons =
-		  qdf_snprint(temp, buf_left, "Roaming Mode: %d, Trigger Reason: %d, Sub code:%d, wtc mode:%d, wtc scan mode:%d, wtc rssi th:%d, wtc candi rssi th:%d",
-			      roam_info->wtc_btm_trig_data.roaming_mode,
-			      roam_info->wtc_btm_trig_data.vsie_trigger_reason,
-			      roam_info->wtc_btm_trig_data.sub_code,
-			      roam_info->wtc_btm_trig_data.wtc_mode,
-			      roam_info->wtc_btm_trig_data.wtc_scan_mode,
-			      roam_info->wtc_btm_trig_data.wtc_rssi_th,
-			      roam_info->wtc_btm_trig_data.wtc_candi_rssi_th);
+		if (roam_info->wtc_btm_trig_data.wtc_candi_rssi_ext_present) {
+			buf_cons = qdf_snprint(temp, buf_left, "Roaming Mode: %d, Trigger Reason: %d, Sub code:%d, wtc mode:%d, wtc scan mode:%d, wtc rssi th:%d, wtc candi rssi th_2g:%d, wtc_candi_rssi_th_5g:%d, wtc_candi_rssi_th_6g:%d",
+			     roam_info->wtc_btm_trig_data.roaming_mode,
+			     roam_info->wtc_btm_trig_data.vsie_trigger_reason,
+			     roam_info->wtc_btm_trig_data.sub_code,
+			     roam_info->wtc_btm_trig_data.wtc_mode,
+			     roam_info->wtc_btm_trig_data.wtc_scan_mode,
+			     roam_info->wtc_btm_trig_data.wtc_rssi_th,
+			     roam_info->wtc_btm_trig_data.wtc_candi_rssi_th,
+			     roam_info->wtc_btm_trig_data.wtc_candi_rssi_th_5g,
+			     roam_info->wtc_btm_trig_data.wtc_candi_rssi_th_6g);
+		} else {
+			buf_cons = qdf_snprint(temp, buf_left, "Roaming Mode: %d, Trigger Reason: %d, Sub code:%d, wtc mode:%d, wtc scan mode:%d, wtc rssi th:%d, wtc candi rssi th:%d",
+			       roam_info->wtc_btm_trig_data.roaming_mode,
+			       roam_info->wtc_btm_trig_data.vsie_trigger_reason,
+			       roam_info->wtc_btm_trig_data.sub_code,
+			       roam_info->wtc_btm_trig_data.wtc_mode,
+			       roam_info->wtc_btm_trig_data.wtc_scan_mode,
+			       roam_info->wtc_btm_trig_data.wtc_rssi_th,
+			       roam_info->wtc_btm_trig_data.wtc_candi_rssi_th);
+		}
+
 		temp += buf_cons;
 		buf_left -= buf_cons;
 		return;