qcacmn: Add new config for BTM offload
Currently, whenever roaming is triggered after a successful roam scan firmware sends a BTM query to current connected AP when it is 11v capable. Driver completes roaming with candidates received as part of BTM request from AP. STA respond to AP with BTM response after successful initiation of roaming. Now the requirement is driver could send "BTM query with a preferred candidate list" after a successful roam scan for some roam scan reasons like PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE etc. Preferred candidate list is obtained as part of roam scan based on firmware bss scoring logic. New ini "btm_query_bitmask" is introduced to configure the bitmask for roam scan reasons which is sent to firmware as part of RSO start via wmi btm config cmd. Fw sends "BTM query with preferred candidate list" only for those roam scans which are enabled through this bitmask. New INI: btm_query_bitmask Min: 0 Max: 0xFFFFFFFF Default: 0x8 Bitmask : 0x8 (LOW_RSSI) refer enum WMI_ROAM_TRIGGER_REASON_ID. Add a new parameter "btm_query_bitmask" into wmi btm config command in order to pass a value of btm_query_bitmask to fw while BTM offload Change-Id: I1b0a973bc5b2b50773aa82c7f8cc1dd080d66d86 CRs-Fixed: 2408112
This commit is contained in:
@@ -523,6 +523,7 @@ struct hlp_params {
|
||||
* @btm_sticky_time: Stick time after roaming to new AP by BTM
|
||||
* @disassoc_timer_threshold: threshold value till which the firmware can
|
||||
* wait before triggering the roam scan after receiving the disassoc iminent
|
||||
* @btm_query_bitmask: bitmask to btm query with candidate list
|
||||
*/
|
||||
struct wmi_btm_config {
|
||||
uint8_t vdev_id;
|
||||
@@ -531,6 +532,7 @@ struct wmi_btm_config {
|
||||
uint32_t btm_max_attempt_cnt;
|
||||
uint32_t btm_sticky_time;
|
||||
uint32_t disassoc_timer_threshold;
|
||||
uint32_t btm_query_bitmask;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -2043,6 +2043,7 @@ static QDF_STATUS send_btm_config_cmd_tlv(wmi_unified_t wmi_handle,
|
||||
cmd->solicited_timeout_ms = params->btm_solicited_timeout;
|
||||
cmd->stick_time_seconds = params->btm_sticky_time;
|
||||
cmd->disassoc_timer_threshold = params->disassoc_timer_threshold;
|
||||
cmd->btm_bitmap = params->btm_query_bitmask;
|
||||
|
||||
wmi_mtrace(WMI_ROAM_BTM_CONFIG_CMDID, cmd->vdev_id, 0);
|
||||
if (wmi_unified_cmd_send(wmi_handle, buf, len,
|
||||
|
Reference in New Issue
Block a user