From 2ccdd34a244913d2ca69550a9dd684f2d6363a52 Mon Sep 17 00:00:00 2001 From: abhinav kumar Date: Wed, 9 Jun 2021 10:45:29 +0530 Subject: [PATCH] qcacld-3.0: Print 5g & 6g candidate rssi threshold in kmsg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../inc/wlan_cm_roam_public_struct.h | 2 ++ core/wma/src/wma_scan_roam.c | 31 +++++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h b/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h index a921123de49d..d7d166f6e6b2 100644 --- a/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h +++ b/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h @@ -1345,11 +1345,13 @@ struct wlan_cm_roam_tx_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, }; /* diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index d6e4b7796412..6d7e84c7e7c1 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -1831,15 +1831,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;