qcacmn: Changes for PER based roaming
DUT should be able to roam to a better access point if current AP is having congestion/packet error. This roam also devise a new selection logic for candidate selection which considers channel congestion and AP capabilities. Change-Id: I6cffbf0de059a218e971be32fbdc1a0092ceea9d CRs-Fixed: 1090934
This commit is contained in:
@@ -854,6 +854,16 @@ QDF_STATUS wmi_unified_roam_scan_offload_rssi_change_cmd(void *wmi_hdl,
|
|||||||
uint32_t bcn_rssi_weight,
|
uint32_t bcn_rssi_weight,
|
||||||
uint32_t hirssi_delay_btw_scans);
|
uint32_t hirssi_delay_btw_scans);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_set_per_roam_config() - set PER roam config in FW
|
||||||
|
* @wmi_hdl: wmi handle
|
||||||
|
* @req_buf: per roam config request buffer
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_unified_set_per_roam_config(void *wmi_hdl,
|
||||||
|
struct wmi_per_roam_config_req *req_buf);
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_get_buf_extscan_hotlist_cmd(void *wmi_hdl,
|
QDF_STATUS wmi_unified_get_buf_extscan_hotlist_cmd(void *wmi_hdl,
|
||||||
struct ext_scan_setbssi_hotlist_params *
|
struct ext_scan_setbssi_hotlist_params *
|
||||||
photlist, int *buf_len);
|
photlist, int *buf_len);
|
||||||
|
@@ -6949,6 +6949,45 @@ struct wmi_adaptive_dwelltime_params {
|
|||||||
uint8_t wifi_act_threshold;
|
uint8_t wifi_act_threshold;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct wmi_per_roam_config - per based roaming parameters
|
||||||
|
* @enable: if PER based roaming is enabled/disabled
|
||||||
|
* @tx_high_rate_thresh: high rate threshold at which PER based
|
||||||
|
* roam will stop in tx path
|
||||||
|
* @rx_high_rate_thresh: high rate threshold at which PER based
|
||||||
|
* roam will stop in rx path
|
||||||
|
* @tx_low_rate_thresh: rate below which traffic will be considered
|
||||||
|
* for PER based roaming in Tx path
|
||||||
|
* @rx_low_rate_thresh: rate below which traffic will be considered
|
||||||
|
* for PER based roaming in Tx path
|
||||||
|
* @tx_rate_thresh_percnt: % above which when traffic is below low_rate_thresh
|
||||||
|
* will be considered for PER based scan in tx path
|
||||||
|
* @rx_rate_thresh_percnt: % above which when traffic is below low_rate_thresh
|
||||||
|
* will be considered for PER based scan in rx path
|
||||||
|
* @per_rest_time: time for which PER based roam will wait once it
|
||||||
|
* issues a roam scan.
|
||||||
|
*/
|
||||||
|
struct wmi_per_roam_config {
|
||||||
|
uint32_t enable;
|
||||||
|
uint32_t tx_high_rate_thresh;
|
||||||
|
uint32_t rx_high_rate_thresh;
|
||||||
|
uint32_t tx_low_rate_thresh;
|
||||||
|
uint32_t rx_low_rate_thresh;
|
||||||
|
uint32_t tx_rate_thresh_percnt;
|
||||||
|
uint32_t rx_rate_thresh_percnt;
|
||||||
|
uint32_t per_rest_time;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct wmi_per_roam_config_req: PER based roaming config request
|
||||||
|
* @vdev_id: vdev id on which config needs to be set
|
||||||
|
* @per_config: PER config
|
||||||
|
*/
|
||||||
|
struct wmi_per_roam_config_req {
|
||||||
|
uint8_t vdev_id;
|
||||||
|
struct wmi_per_roam_config per_config;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct wmi_fw_dump_seg_req - individual segment details
|
* struct wmi_fw_dump_seg_req - individual segment details
|
||||||
* @seg_id - segment id.
|
* @seg_id - segment id.
|
||||||
|
@@ -720,6 +720,9 @@ QDF_STATUS (*send_roam_scan_offload_rssi_change_cmd)(wmi_unified_t wmi_handle,
|
|||||||
uint32_t bcn_rssi_weight,
|
uint32_t bcn_rssi_weight,
|
||||||
uint32_t hirssi_delay_btw_scans);
|
uint32_t hirssi_delay_btw_scans);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_per_roam_config_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
struct wmi_per_roam_config_req *req_buf);
|
||||||
|
|
||||||
QDF_STATUS (*send_get_buf_extscan_hotlist_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_get_buf_extscan_hotlist_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct ext_scan_setbssi_hotlist_params *
|
struct ext_scan_setbssi_hotlist_params *
|
||||||
photlist, int *buf_len);
|
photlist, int *buf_len);
|
||||||
|
Reference in New Issue
Block a user