summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-03-02 20:22:50 -0700
committerLinux Build Service Account <lnxbuild@localhost>2017-03-02 20:22:50 -0700
commite76e7402641c829089bc1f583c07c8a3e9d5a6b3 (patch)
treeb304d65400e940091f1a80bf278d7fd2b92ee15f
parentef907fe13987d5801175f14afcdd0c3563a7ddad (diff)
parentf51674ceaaf92fd6f84e25b45b3b15d479720460 (diff)
Promotion of wlan-cmn.driver.lnx.1.0-00131.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- 2004963 I536a4d45d5d915ab02dc13db6124a1ce8949fe48 qcacmn: Enable PMK cache and OKC with RSO command 2005849 Iadb5f6a005b069e0d6190df34e382927425ec1af qcacmn: Add monitor time for PER based roam 688141 If41384327ca4895c5089d5f03c65551cfecb98dc Release 5.1.0.27W 688141 Ibba09d42d2682f03d08e74d5459ee3db8460b5cc Release 5.1.0.27X 688141 I2d99a4bb7a05979cbad94183a1e2cf104d28b9f7 Release 5.1.0.27V 1111809 I2758103e8ca3c49c0fecd3323b619542dbbabf0c qcacmn: Add support to get the status for Roam Scan Offl Change-Id: I0a0925ceed9a8648ef38abb35213483850b591bc CRs-Fixed: 688141, 1111809, 2005849, 2004963
-rw-r--r--VERSION.txt2
-rw-r--r--wmi/inc/wmi_unified_param.h14
-rw-r--r--wmi/src/wmi_unified_tlv.c27
3 files changed, 34 insertions, 9 deletions
diff --git a/VERSION.txt b/VERSION.txt
index 8e0703dcbff0..0cc20f272141 100644
--- a/VERSION.txt
+++ b/VERSION.txt
@@ -1,2 +1,2 @@
-Current Component wlan-cmn.driver.lnx.1.0 version 5.1.0.27U
+Current Component wlan-cmn.driver.lnx.1.0 version 5.1.0.27X
Matches Component wlan-cld3.driver.lnx.1.1 version 5.1.0.22D
diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h
index 6c71cdfb9cbb..6591ba25c451 100644
--- a/wmi/inc/wmi_unified_param.h
+++ b/wmi/inc/wmi_unified_param.h
@@ -1707,7 +1707,7 @@ struct mobility_domain_info {
#define WMI_HOST_ROAM_OFFLOAD_NUM_MCS_SET (16)
/* This TLV will be filled only in case roam offload
- * for wpa2-psk/okc/ese/11r is enabled */
+ * for wpa2-psk/pmkid/ese/11r is enabled */
typedef struct {
/*
* TLV tag and len; tag equals
@@ -1750,7 +1750,8 @@ typedef struct {
* @rokh_id: r0kh id
* @roam_key_mgmt_offload_enabled: roam offload flag
* @auth_mode: authentication mode
- * @okc_enabled: enable opportunistic key caching
+ * @fw_okc: use OKC in firmware
+ * @fw_pmksa_cache: use PMKSA cache in firmware
* @is_ese_assoc: flag to determine ese assoc
* @mdid: mobility domain info
* @roam_offload_params: roam offload tlv params
@@ -1773,7 +1774,8 @@ struct roam_offload_scan_params {
uint8_t rokh_id[WMI_ROAM_R0KH_ID_MAX_LEN];
uint8_t roam_key_mgmt_offload_enabled;
int auth_mode;
- bool okc_enabled;
+ bool fw_okc;
+ bool fw_pmksa_cache;
#endif
bool is_ese_assoc;
struct mobility_domain_info mdid;
@@ -6657,6 +6659,10 @@ struct wmi_adaptive_dwelltime_params {
* 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.
+ * @tx_per_mon_time: Minimum time required to be considered as valid scenario
+ * for PER based roam in tx path
+ * @rx_per_mon_time: Minimum time required to be considered as valid scenario
+ * for PER based roam in rx path
*/
struct wmi_per_roam_config {
uint32_t enable;
@@ -6667,6 +6673,8 @@ struct wmi_per_roam_config {
uint32_t tx_rate_thresh_percnt;
uint32_t rx_rate_thresh_percnt;
uint32_t per_rest_time;
+ uint32_t tx_per_mon_time;
+ uint32_t rx_per_mon_time;
};
/**
diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c
index c764fa4cf13d..c094a2c6f450 100644
--- a/wmi/src/wmi_unified_tlv.c
+++ b/wmi/src/wmi_unified_tlv.c
@@ -4427,9 +4427,12 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
roam_scan_mode_fp->roam_scan_mode = roam_req->mode;
roam_scan_mode_fp->vdev_id = roam_req->vdev_id;
- if (roam_req->mode == (WMI_ROAM_SCAN_MODE_NONE
- |WMI_ROAM_SCAN_MODE_ROAMOFFLOAD))
+ if (roam_req->mode == (WMI_ROAM_SCAN_MODE_NONE |
+ WMI_ROAM_SCAN_MODE_ROAMOFFLOAD)) {
+ roam_scan_mode_fp->flags |=
+ WMI_ROAM_SCAN_MODE_FLAG_REPORT_STATUS;
goto send_roam_scan_mode_cmd;
+ }
/* Fill in scan parameters suitable for roaming scan */
buf_ptr += sizeof(wmi_roam_scan_mode_fixed_param);
@@ -4564,15 +4567,26 @@ QDF_STATUS send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
buf_ptr += WMI_TLV_HDR_SIZE;
roam_offload_11i =
(wmi_roam_11i_offload_tlv_param *) buf_ptr;
+
if (roam_req->roam_key_mgmt_offload_enabled &&
- roam_req->okc_enabled) {
+ roam_req->fw_okc) {
WMI_SET_ROAM_OFFLOAD_OKC_ENABLED
(roam_offload_11i->flags);
- WMI_LOGE("LFR3:OKC Enabled");
+ WMI_LOGE("LFR3:OKC enabled");
} else {
WMI_SET_ROAM_OFFLOAD_OKC_DISABLED
(roam_offload_11i->flags);
- WMI_LOGE("LFR3:OKC Disabled");
+ WMI_LOGE("LFR3:OKC disabled");
+ }
+ if (roam_req->roam_key_mgmt_offload_enabled &&
+ roam_req->fw_pmksa_cache) {
+ WMI_SET_ROAM_OFFLOAD_PMK_CACHE_ENABLED
+ (roam_offload_11i->flags);
+ WMI_LOGE("LFR3:PMKSA caching enabled");
+ } else {
+ WMI_SET_ROAM_OFFLOAD_PMK_CACHE_DISABLED
+ (roam_offload_11i->flags);
+ WMI_LOGE("LFR3:PMKSA caching disabled");
}
qdf_mem_copy(roam_offload_11i->pmk,
@@ -11118,6 +11132,9 @@ QDF_STATUS send_per_roam_config_cmd_tlv(wmi_unified_t wmi_handle,
(req_buf->per_config.tx_rate_thresh_percnt << 16) |
(req_buf->per_config.rx_rate_thresh_percnt & 0x0000ffff);
wmi_per_config->per_rest_time = req_buf->per_config.per_rest_time;
+ wmi_per_config->pkt_err_rate_mon_time =
+ (req_buf->per_config.tx_per_mon_time << 16) |
+ (req_buf->per_config.rx_per_mon_time & 0x0000ffff);
/* Send per roam config parameters */
status = wmi_unified_cmd_send(wmi_handle, buf,