summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhinav Kumar <abhikuma@codeaurora.org>2019-02-25 19:09:52 +0530
committerAbhinav Kumar <abhikuma@codeaurora.org>2019-02-25 19:16:25 +0530
commitf149fbd7a0931a6453b5f327f4c91f4aa28a91e7 (patch)
tree49dbb4ef81f2ae1f2436181a54de0251cb26aec1
parentbcd38c21b2f2ee1b3cb21a901569ed7e84587d68 (diff)
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 various roam scan reasons. 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
-rw-r--r--wmi/inc/wmi_unified_param.h2
-rw-r--r--wmi/src/wmi_unified_tlv.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h
index b1afaec7e143..f8fefa8f2896 100644
--- a/wmi/inc/wmi_unified_param.h
+++ b/wmi/inc/wmi_unified_param.h
@@ -7604,6 +7604,7 @@ struct wmi_mawc_roam_params {
* @btm_solicited_timeout: Timeout value for waiting BTM request
* @btm_max_attempt_cnt: Maximum attempt for sending BTM query to ESS
* @btm_sticky_time: Stick time after roaming to new AP by BTM
+ * @btm_query_bitmask: roam trigger reasons to trigger BTM Query
*/
struct wmi_btm_config {
uint8_t vdev_id;
@@ -7611,6 +7612,7 @@ struct wmi_btm_config {
uint32_t btm_solicited_timeout;
uint32_t btm_max_attempt_cnt;
uint32_t btm_sticky_time;
+ uint32_t btm_query_bitmask;
};
/**
diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c
index efe809903ab0..346879f9865b 100644
--- a/wmi/src/wmi_unified_tlv.c
+++ b/wmi/src/wmi_unified_tlv.c
@@ -15088,6 +15088,7 @@ static QDF_STATUS send_btm_config_cmd_tlv(wmi_unified_t wmi_handle,
cmd->max_attempt_cnt = params->btm_max_attempt_cnt;
cmd->solicited_timeout_ms = params->btm_solicited_timeout;
cmd->stick_time_seconds = params->btm_sticky_time;
+ cmd->btm_bitmap = params->btm_query_bitmask;
if (wmi_unified_cmd_send(wmi_handle, buf, len,
WMI_ROAM_BTM_CONFIG_CMDID)) {