|
@@ -4677,90 +4677,6 @@ QDF_STATUS wma_extscan_stop_hotlist_monitor(tp_wma_handle wma,
|
|
|
¶ms);
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * wma_get_buf_extscan_change_monitor_cmd() - fill change monitor request
|
|
|
- * @wma: wma handle
|
|
|
- * @psigchange: change monitor request params
|
|
|
- * @buf: wmi buffer
|
|
|
- * @buf_len: buffer length
|
|
|
- *
|
|
|
- * This function fills elements of change monitor request buffer.
|
|
|
- *
|
|
|
- * Return: QDF status
|
|
|
- */
|
|
|
-QDF_STATUS wma_get_buf_extscan_change_monitor_cmd(tp_wma_handle wma_handle,
|
|
|
- tSirExtScanSetSigChangeReqParams *psigchange,
|
|
|
- wmi_buf_t *buf, int *buf_len)
|
|
|
-{
|
|
|
- wmi_extscan_configure_wlan_change_monitor_cmd_fixed_param *cmd;
|
|
|
- wmi_extscan_wlan_change_bssid_param *dest_chglist;
|
|
|
- uint8_t *buf_ptr;
|
|
|
- int j;
|
|
|
- int len = sizeof(*cmd);
|
|
|
- int numap = psigchange->numAp;
|
|
|
- tSirAPThresholdParam *src_ap = psigchange->ap;
|
|
|
-
|
|
|
- if (!numap) {
|
|
|
- WMA_LOGE("%s: Invalid number of bssid's", __func__);
|
|
|
- return QDF_STATUS_E_INVAL;
|
|
|
- }
|
|
|
- len += WMI_TLV_HDR_SIZE;
|
|
|
- len += numap * sizeof(wmi_extscan_wlan_change_bssid_param);
|
|
|
-
|
|
|
- *buf = wmi_buf_alloc(wma_handle->wmi_handle, len);
|
|
|
- if (!*buf) {
|
|
|
- WMA_LOGP("%s: failed to allocate memory for change monitor cmd",
|
|
|
- __func__);
|
|
|
- return QDF_STATUS_E_FAILURE;
|
|
|
- }
|
|
|
- buf_ptr = (uint8_t *) wmi_buf_data(*buf);
|
|
|
- cmd =
|
|
|
- (wmi_extscan_configure_wlan_change_monitor_cmd_fixed_param *)
|
|
|
- buf_ptr;
|
|
|
- WMITLV_SET_HDR(&cmd->tlv_header,
|
|
|
- WMITLV_TAG_STRUC_wmi_extscan_configure_wlan_change_monitor_cmd_fixed_param,
|
|
|
- WMITLV_GET_STRUCT_TLVLEN
|
|
|
- (wmi_extscan_configure_wlan_change_monitor_cmd_fixed_param));
|
|
|
-
|
|
|
- cmd->request_id = psigchange->requestId;
|
|
|
- cmd->vdev_id = psigchange->sessionId;
|
|
|
- cmd->total_entries = numap;
|
|
|
- cmd->mode = 1;
|
|
|
- cmd->num_entries_in_page = numap;
|
|
|
- cmd->lost_ap_scan_count = psigchange->lostApSampleSize;
|
|
|
- cmd->max_rssi_samples = psigchange->rssiSampleSize;
|
|
|
- cmd->rssi_averaging_samples = psigchange->rssiSampleSize;
|
|
|
- cmd->max_out_of_range_count = psigchange->minBreaching;
|
|
|
-
|
|
|
- buf_ptr += sizeof(*cmd);
|
|
|
- WMITLV_SET_HDR(buf_ptr,
|
|
|
- WMITLV_TAG_ARRAY_STRUC,
|
|
|
- numap * sizeof(wmi_extscan_wlan_change_bssid_param));
|
|
|
- dest_chglist = (wmi_extscan_wlan_change_bssid_param *)
|
|
|
- (buf_ptr + WMI_TLV_HDR_SIZE);
|
|
|
-
|
|
|
- for (j = 0; j < numap; j++) {
|
|
|
- WMITLV_SET_HDR(dest_chglist,
|
|
|
- WMITLV_TAG_STRUC_wmi_extscan_bucket_cmd_fixed_param,
|
|
|
- WMITLV_GET_STRUCT_TLVLEN
|
|
|
- (wmi_extscan_wlan_change_bssid_param));
|
|
|
-
|
|
|
- dest_chglist->lower_rssi_limit = src_ap->low;
|
|
|
- dest_chglist->upper_rssi_limit = src_ap->high;
|
|
|
- WMI_CHAR_ARRAY_TO_MAC_ADDR(src_ap->bssid.bytes,
|
|
|
- &dest_chglist->bssid);
|
|
|
-
|
|
|
- WMA_LOGD("%s: min_rssi %d", __func__,
|
|
|
- dest_chglist->lower_rssi_limit);
|
|
|
- dest_chglist++;
|
|
|
- src_ap++;
|
|
|
- }
|
|
|
- buf_ptr += WMI_TLV_HDR_SIZE +
|
|
|
- (numap * sizeof(wmi_extscan_wlan_change_bssid_param));
|
|
|
- *buf_len = len;
|
|
|
- return QDF_STATUS_SUCCESS;
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* wma_extscan_start_change_monitor() - send start change monitor cmd
|
|
|
* @wma: wma handle
|