diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-03-02 20:22:50 -0700 |
|---|---|---|
| committer | Linux Build Service Account <lnxbuild@localhost> | 2017-03-02 20:22:50 -0700 |
| commit | e76e7402641c829089bc1f583c07c8a3e9d5a6b3 (patch) | |
| tree | b304d65400e940091f1a80bf278d7fd2b92ee15f | |
| parent | ef907fe13987d5801175f14afcdd0c3563a7ddad (diff) | |
| parent | f51674ceaaf92fd6f84e25b45b3b15d479720460 (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.txt | 2 | ||||
| -rw-r--r-- | wmi/inc/wmi_unified_param.h | 14 | ||||
| -rw-r--r-- | wmi/src/wmi_unified_tlv.c | 27 |
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, |
