|
@@ -1411,6 +1411,36 @@ static QDF_STATUS wma_roam_scan_btm_offload(tp_wma_handle wma_handle,
|
|
|
return status;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * wma_send_roam_bss_load_config() - API to send load bss trigger
|
|
|
+ * related parameters to fw
|
|
|
+ *
|
|
|
+ * @handle: WMA handle
|
|
|
+ * @roam_req: bss load config parameters from csr to be sent to fw
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ */
|
|
|
+static
|
|
|
+void wma_send_roam_bss_load_config(WMA_HANDLE handle,
|
|
|
+ struct wmi_bss_load_config *params)
|
|
|
+{
|
|
|
+ QDF_STATUS status;
|
|
|
+ tp_wma_handle wma_handle = (tp_wma_handle) handle;
|
|
|
+
|
|
|
+ if (!wma_handle || !wma_handle->wmi_handle) {
|
|
|
+ WMA_LOGE("WMA is closed, cannot send bss load config");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ WMA_LOGD("%s: Sending bss load trig params vdev %u bss_load_threshold %u",
|
|
|
+ __func__, params->vdev_id, params->bss_load_threshold);
|
|
|
+
|
|
|
+ status = wmi_unified_send_bss_load_config(wma_handle->wmi_handle,
|
|
|
+ params);
|
|
|
+ if (QDF_IS_STATUS_ERROR(status))
|
|
|
+ WMA_LOGE("failed to send bss load trigger config command");
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* wma_send_offload_11k_params() - API to send 11k offload params to FW
|
|
|
* @handle: WMA handle
|
|
@@ -1471,6 +1501,7 @@ QDF_STATUS wma_process_roaming_config(tp_wma_handle wma_handle,
|
|
|
struct mac_context *mac = cds_get_context(QDF_MODULE_ID_PE);
|
|
|
uint32_t mode = 0;
|
|
|
struct wma_txrx_node *intr = NULL;
|
|
|
+ struct wmi_bss_load_config *bss_load_cfg;
|
|
|
|
|
|
if (NULL == mac) {
|
|
|
WMA_LOGE("%s: mac is NULL", __func__);
|
|
@@ -1611,6 +1642,11 @@ QDF_STATUS wma_process_roaming_config(tp_wma_handle wma_handle,
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (roam_req->bss_load_trig_enabled) {
|
|
|
+ bss_load_cfg = &roam_req->bss_load_config;
|
|
|
+ wma_send_roam_bss_load_config(wma_handle, bss_load_cfg);
|
|
|
+ }
|
|
|
break;
|
|
|
|
|
|
case ROAM_SCAN_OFFLOAD_STOP:
|
|
@@ -1860,7 +1896,6 @@ QDF_STATUS wma_process_roaming_config(tp_wma_handle wma_handle,
|
|
|
wma_roam_scan_offload_mode(wma_handle, &scan_params,
|
|
|
roam_req, mode,
|
|
|
roam_req->sessionId);
|
|
|
-
|
|
|
break;
|
|
|
|
|
|
default:
|