qcacmn: Add support to print candidate rssi in kmsg
First Requirement: 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. Second requirement: As per user space, value for scan mode in WTC command, is like below: 0: no Scan, 1: partial scan and 2: full scan. For NO scan case, FW sends value ROAM_TRIGGER_SCAN_MODE_NO_SCAN_DISCONNECTION (3) in wmi_roam_trigger_reason-> wtc_scan_mode. When driver receives WTC scan mode as ROAM_TRIGGER_SCAN_MODE_NO_SCAN_DISCONNECTION, it should print value as 0 instead of 3. Convert WTC scan mode comes from FW to wmi_configure_roam_trigger_parameters->scan_mode to make it compatible to WTC command. Change-Id: I8266460aac1272d345e4349c2ca52b4f9a745d4c CRs-Fixed: 2965362
This commit is contained in:

committed by
Madan Koyyalamudi

parent
fa7cf78ebf
commit
96f19b772c
@@ -14351,6 +14351,28 @@ static QDF_STATUS extract_ani_level_tlv(uint8_t *evt_buf,
|
||||
#endif /* FEATURE_ANI_LEVEL_REQUEST */
|
||||
|
||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||
/**
|
||||
* convert_wtc_scan_mode() - Function to convert TLV specific
|
||||
* ROAM_TRIGGER_SCAN_MODE scan mode to unified Roam trigger scan mode enum
|
||||
* @scan_mode: scan freq scheme coming from firmware
|
||||
*
|
||||
* Return: ROAM_TRIGGER_SCAN_MODE
|
||||
*/
|
||||
static enum roam_scan_freq_scheme
|
||||
convert_wtc_scan_mode(WMI_ROAM_TRIGGER_SCAN_MODE scan_mode)
|
||||
{
|
||||
switch (scan_mode) {
|
||||
case ROAM_TRIGGER_SCAN_MODE_NO_SCAN_DISCONNECTION:
|
||||
return ROAM_SCAN_FREQ_SCHEME_NO_SCAN;
|
||||
case ROAM_TRIGGER_SCAN_MODE_PARTIAL:
|
||||
return ROAM_SCAN_FREQ_SCHEME_PARTIAL_SCAN;
|
||||
case ROAM_TRIGGER_SCAN_MODE_FULL:
|
||||
return ROAM_SCAN_FREQ_SCHEME_FULL_SCAN;
|
||||
default:
|
||||
return ROAM_SCAN_FREQ_SCHEME_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* extract_roam_trigger_stats_tlv() - Extract the Roam trigger stats
|
||||
* from the WMI_ROAM_STATS_EVENTID
|
||||
@@ -14431,11 +14453,19 @@ extract_roam_trigger_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
trig->wtc_btm_trig_data.wtc_mode =
|
||||
src_data->vendor_specific1[3];
|
||||
trig->wtc_btm_trig_data.wtc_scan_mode =
|
||||
src_data->vendor_specific1[4];
|
||||
convert_wtc_scan_mode(src_data->vendor_specific1[4]);
|
||||
trig->wtc_btm_trig_data.wtc_rssi_th =
|
||||
src_data->vendor_specific1[5];
|
||||
trig->wtc_btm_trig_data.wtc_candi_rssi_th =
|
||||
src_data->vendor_specific1[6];
|
||||
|
||||
trig->wtc_btm_trig_data.wtc_candi_rssi_ext_present =
|
||||
src_data->vendor_specific2[0];
|
||||
trig->wtc_btm_trig_data.wtc_candi_rssi_th_5g =
|
||||
src_data->vendor_specific2[1];
|
||||
trig->wtc_btm_trig_data.wtc_candi_rssi_th_6g =
|
||||
src_data->vendor_specific2[2];
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
default:
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
Reference in New Issue
Block a user