qcacld-3.0: Enable EXTSCAN based on converged extscan component
Enable EXTSCAN based on converged cfg component and remove legacy codes. Change-Id: Ia4af89c6a898a936c89c6f3f155609a9c3d98541 CRs-Fixed: 2302197
This commit is contained in:

committed by
nshrivas

parent
ac3ddde459
commit
e8155d3e50
4
Kbuild
4
Kbuild
@@ -618,6 +618,10 @@ UMAC_SCAN_OBJS := $(UMAC_SCAN_CORE_DIR)/wlan_scan_cache_db.o \
|
|||||||
$(WLAN_COMMON_ROOT)/os_if/linux/wlan_cfg80211.o \
|
$(WLAN_COMMON_ROOT)/os_if/linux/wlan_cfg80211.o \
|
||||||
$(WLAN_COMMON_ROOT)/target_if/scan/src/target_if_scan.o
|
$(WLAN_COMMON_ROOT)/target_if/scan/src/target_if_scan.o
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_FEATURE_WLAN_EXTSCAN), y)
|
||||||
|
UMAC_SCAN_OBJS += $(UMAC_SCAN_DISP_DIR)/wlan_extscan_api.o
|
||||||
|
endif
|
||||||
|
|
||||||
############# UMAC_SPECTRAL_SCAN ############
|
############# UMAC_SPECTRAL_SCAN ############
|
||||||
UMAC_SPECTRAL_DIR := spectral
|
UMAC_SPECTRAL_DIR := spectral
|
||||||
UMAC_SPECTRAL_DISP_INC_DIR := $(UMAC_SPECTRAL_DIR)/dispatcher/inc
|
UMAC_SPECTRAL_DISP_INC_DIR := $(UMAC_SPECTRAL_DIR)/dispatcher/inc
|
||||||
|
@@ -881,127 +881,6 @@ enum hdd_dot11_mode {
|
|||||||
#define CFG_SCAN_PROBE_REPEAT_TIME_MAX (30)
|
#define CFG_SCAN_PROBE_REPEAT_TIME_MAX (30)
|
||||||
#define CFG_SCAN_PROBE_REPEAT_TIME_DEFAULT (0)
|
#define CFG_SCAN_PROBE_REPEAT_TIME_DEFAULT (0)
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_EXTSCAN
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* gExtScanEnable - Enable external scan
|
|
||||||
* @Min: 0
|
|
||||||
* @Max: 1
|
|
||||||
* @Default: 1
|
|
||||||
*
|
|
||||||
* This ini is used to control enabling of external scan
|
|
||||||
* feature.
|
|
||||||
*
|
|
||||||
* Related: None
|
|
||||||
*
|
|
||||||
* Supported Feature: Scan
|
|
||||||
*
|
|
||||||
* Usage: External
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_EXTSCAN_ALLOWED_NAME "gExtScanEnable"
|
|
||||||
#define CFG_EXTSCAN_ALLOWED_MIN (0)
|
|
||||||
#define CFG_EXTSCAN_ALLOWED_MAX (1)
|
|
||||||
#define CFG_EXTSCAN_ALLOWED_DEF (1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* gExtScanPassiveMaxChannelTime - Set max channel time for external
|
|
||||||
* passive scan
|
|
||||||
* @Min: 0
|
|
||||||
* @Max: 500
|
|
||||||
* @Default: 110
|
|
||||||
*
|
|
||||||
* This ini is used to set maximum channel time in secs spent in
|
|
||||||
* external passive scan
|
|
||||||
*
|
|
||||||
* Related: None
|
|
||||||
*
|
|
||||||
* Supported Feature: Scan
|
|
||||||
*
|
|
||||||
* Usage: External
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_NAME "gExtScanPassiveMaxChannelTime"
|
|
||||||
#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MIN (0)
|
|
||||||
#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MAX (500)
|
|
||||||
#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_DEFAULT (110)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* gExtScanPassiveMinChannelTime - Set min channel time for external
|
|
||||||
* passive scan
|
|
||||||
* @Min: 0
|
|
||||||
* @Max: 500
|
|
||||||
* @Default: 60
|
|
||||||
*
|
|
||||||
* This ini is used to set minimum channel time in secs spent in
|
|
||||||
* external passive scan
|
|
||||||
*
|
|
||||||
* Related: None
|
|
||||||
*
|
|
||||||
* Supported Feature: Scan
|
|
||||||
*
|
|
||||||
* Usage: External
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_NAME "gExtScanPassiveMinChannelTime"
|
|
||||||
#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MIN (0)
|
|
||||||
#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MAX (500)
|
|
||||||
#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_DEFAULT (60)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* gExtScanActiveMaxChannelTime - Set min channel time for external
|
|
||||||
* active scan
|
|
||||||
* @Min: 0
|
|
||||||
* @Max: 110
|
|
||||||
* @Default: 40
|
|
||||||
*
|
|
||||||
* This ini is used to set maximum channel time in secs spent in
|
|
||||||
* external active scan
|
|
||||||
*
|
|
||||||
* Related: None
|
|
||||||
*
|
|
||||||
* Supported Feature: Scan
|
|
||||||
*
|
|
||||||
* Usage: External
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_NAME "gExtScanActiveMaxChannelTime"
|
|
||||||
#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN (0)
|
|
||||||
#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX (110)
|
|
||||||
#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT (40)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* gExtScanActiveMinChannelTime - Set min channel time for external
|
|
||||||
* active scan
|
|
||||||
* @Min: 0
|
|
||||||
* @Max: 110
|
|
||||||
* @Default: 20
|
|
||||||
*
|
|
||||||
* This ini is used to set minimum channel time in secs spent in
|
|
||||||
* external active scan
|
|
||||||
*
|
|
||||||
* Related: None
|
|
||||||
*
|
|
||||||
* Supported Feature: Scan
|
|
||||||
*
|
|
||||||
* Usage: External
|
|
||||||
*
|
|
||||||
* </ini>
|
|
||||||
*/
|
|
||||||
#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_NAME "gExtScanActiveMinChannelTime"
|
|
||||||
#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MIN (0)
|
|
||||||
#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MAX (110)
|
|
||||||
#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_DEFAULT (20)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <ini>
|
* <ini>
|
||||||
* gChPredictionFullScanMs - Set periodic timer for channel
|
* gChPredictionFullScanMs - Set periodic timer for channel
|
||||||
@@ -14208,13 +14087,6 @@ struct hdd_config {
|
|||||||
/* CPU affinity mask for rx_thread */
|
/* CPU affinity mask for rx_thread */
|
||||||
uint32_t rx_thread_affinity_mask;
|
uint32_t rx_thread_affinity_mask;
|
||||||
uint8_t cpu_map_list[CFG_RPS_RX_QUEUE_CPU_MAP_LIST_LEN];
|
uint8_t cpu_map_list[CFG_RPS_RX_QUEUE_CPU_MAP_LIST_LEN];
|
||||||
#ifdef FEATURE_WLAN_EXTSCAN
|
|
||||||
bool extscan_enabled;
|
|
||||||
uint32_t extscan_passive_max_chn_time;
|
|
||||||
uint32_t extscan_passive_min_chn_time;
|
|
||||||
uint32_t extscan_active_max_chn_time;
|
|
||||||
uint32_t extscan_active_min_chn_time;
|
|
||||||
#endif
|
|
||||||
bool ce_classify_enabled;
|
bool ce_classify_enabled;
|
||||||
uint32_t dual_mac_feature_disable;
|
uint32_t dual_mac_feature_disable;
|
||||||
uint8_t dbs_scan_selection[CFG_DBS_SCAN_PARAM_LENGTH];
|
uint8_t dbs_scan_selection[CFG_DBS_SCAN_PARAM_LENGTH];
|
||||||
|
@@ -3269,48 +3269,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||||||
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MIN,
|
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MIN,
|
||||||
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MAX),
|
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MAX),
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_EXTSCAN
|
|
||||||
REG_VARIABLE(CFG_EXTSCAN_ALLOWED_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, extscan_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL |
|
|
||||||
VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_ALLOWED_DEF,
|
|
||||||
CFG_EXTSCAN_ALLOWED_MIN,
|
|
||||||
CFG_EXTSCAN_ALLOWED_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_NAME,
|
|
||||||
WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, extscan_passive_max_chn_time,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MIN,
|
|
||||||
CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_NAME,
|
|
||||||
WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, extscan_passive_min_chn_time,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MIN,
|
|
||||||
CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_NAME,
|
|
||||||
WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, extscan_active_max_chn_time,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN,
|
|
||||||
CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_NAME,
|
|
||||||
WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, extscan_active_min_chn_time,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
|
|
||||||
CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MIN,
|
|
||||||
CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MAX),
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_WOW_PULSE
|
#ifdef WLAN_FEATURE_WOW_PULSE
|
||||||
REG_VARIABLE(CFG_WOW_PULSE_SUPPORT_NAME, WLAN_PARAM_Integer,
|
REG_VARIABLE(CFG_WOW_PULSE_SUPPORT_NAME, WLAN_PARAM_Integer,
|
||||||
struct hdd_config, wow_pulse_support,
|
struct hdd_config, wow_pulse_support,
|
||||||
|
@@ -119,6 +119,7 @@
|
|||||||
#include <wlan_hdd_ota_test.h>
|
#include <wlan_hdd_ota_test.h>
|
||||||
#include "wlan_mlme_ucfg_api.h"
|
#include "wlan_mlme_ucfg_api.h"
|
||||||
#include "wlan_mlme_public_struct.h"
|
#include "wlan_mlme_public_struct.h"
|
||||||
|
#include "wlan_extscan_ucfg_api.h"
|
||||||
|
|
||||||
#define g_mode_rates_size (12)
|
#define g_mode_rates_size (12)
|
||||||
#define a_mode_rates_size (8)
|
#define a_mode_rates_size (8)
|
||||||
@@ -3040,13 +3041,11 @@ __wlan_hdd_cfg80211_get_supported_features(struct wiphy *wiphy,
|
|||||||
/* HOTSPOT is a supplicant feature, enable it by default */
|
/* HOTSPOT is a supplicant feature, enable it by default */
|
||||||
fset |= WIFI_FEATURE_HOTSPOT;
|
fset |= WIFI_FEATURE_HOTSPOT;
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_EXTSCAN
|
if (ucfg_extscan_get_enable(hdd_ctx->hdd_psoc) &&
|
||||||
if (hdd_ctx->config->extscan_enabled &&
|
|
||||||
sme_is_feature_supported_by_fw(EXTENDED_SCAN)) {
|
sme_is_feature_supported_by_fw(EXTENDED_SCAN)) {
|
||||||
hdd_debug("EXTScan is supported by firmware");
|
hdd_debug("EXTScan is supported by firmware");
|
||||||
fset |= WIFI_FEATURE_EXTSCAN | WIFI_FEATURE_HAL_EPNO;
|
fset |= WIFI_FEATURE_EXTSCAN | WIFI_FEATURE_HAL_EPNO;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
if (wlan_hdd_nan_is_supported(hdd_ctx)) {
|
if (wlan_hdd_nan_is_supported(hdd_ctx)) {
|
||||||
hdd_debug("NAN is supported by firmware");
|
hdd_debug("NAN is supported by firmware");
|
||||||
fset |= WIFI_FEATURE_NAN;
|
fset |= WIFI_FEATURE_NAN;
|
||||||
|
@@ -30,6 +30,7 @@
|
|||||||
#include "cds_utils.h"
|
#include "cds_utils.h"
|
||||||
#include "cds_sched.h"
|
#include "cds_sched.h"
|
||||||
#include <qca_vendor.h>
|
#include <qca_vendor.h>
|
||||||
|
#include "wlan_extscan_ucfg_api.h"
|
||||||
|
|
||||||
#define EXTSCAN_PARAM_MAX QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX
|
#define EXTSCAN_PARAM_MAX QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_MAX
|
||||||
|
|
||||||
@@ -1451,7 +1452,7 @@ void wlan_hdd_cfg80211_extscan_callback(hdd_handle_t hdd_handle,
|
|||||||
QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_REQUEST_ID
|
QCA_WLAN_VENDOR_ATTR_EXTSCAN_SUBCMD_CONFIG_PARAM_REQUEST_ID
|
||||||
#define PARAM_STATUS \
|
#define PARAM_STATUS \
|
||||||
QCA_WLAN_VENDOR_ATTR_EXTSCAN_STATUS
|
QCA_WLAN_VENDOR_ATTR_EXTSCAN_STATUS
|
||||||
#define MAX_SCAN_CACHE_SIZE \
|
#define MAX_EXTSCAN_CACHE_SIZE \
|
||||||
QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_CACHE_SIZE
|
QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_CACHE_SIZE
|
||||||
#define MAX_SCAN_BUCKETS \
|
#define MAX_SCAN_BUCKETS \
|
||||||
QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_BUCKETS
|
QCA_WLAN_VENDOR_ATTR_EXTSCAN_RESULTS_CAPABILITIES_MAX_SCAN_BUCKETS
|
||||||
@@ -1550,7 +1551,8 @@ static int wlan_hdd_send_ext_scan_capability(struct hdd_context *hdd_ctx)
|
|||||||
|
|
||||||
if (nla_put_u32(skb, PARAM_REQUEST_ID, data->requestId) ||
|
if (nla_put_u32(skb, PARAM_REQUEST_ID, data->requestId) ||
|
||||||
nla_put_u32(skb, PARAM_STATUS, data->status) ||
|
nla_put_u32(skb, PARAM_STATUS, data->status) ||
|
||||||
nla_put_u32(skb, MAX_SCAN_CACHE_SIZE, data->max_scan_cache_size) ||
|
nla_put_u32(skb, MAX_EXTSCAN_CACHE_SIZE,
|
||||||
|
data->max_scan_cache_size) ||
|
||||||
nla_put_u32(skb, MAX_SCAN_BUCKETS, data->max_scan_buckets) ||
|
nla_put_u32(skb, MAX_SCAN_BUCKETS, data->max_scan_buckets) ||
|
||||||
nla_put_u32(skb, MAX_AP_CACHE_PER_SCAN,
|
nla_put_u32(skb, MAX_AP_CACHE_PER_SCAN,
|
||||||
data->max_ap_cache_per_scan) ||
|
data->max_ap_cache_per_scan) ||
|
||||||
@@ -1589,7 +1591,7 @@ nla_put_failure:
|
|||||||
*/
|
*/
|
||||||
#undef PARAM_REQUEST_ID
|
#undef PARAM_REQUEST_ID
|
||||||
#undef PARAM_STATUS
|
#undef PARAM_STATUS
|
||||||
#undef MAX_SCAN_CACHE_SIZE
|
#undef MAX_EXTSCAN_CACHE_SIZE
|
||||||
#undef MAX_SCAN_BUCKETS
|
#undef MAX_SCAN_BUCKETS
|
||||||
#undef MAX_AP_CACHE_PER_SCAN
|
#undef MAX_AP_CACHE_PER_SCAN
|
||||||
#undef MAX_RSSI_SAMPLE_SIZE
|
#undef MAX_RSSI_SAMPLE_SIZE
|
||||||
@@ -1643,7 +1645,7 @@ static int __wlan_hdd_cfg80211_extscan_get_capabilities(struct wiphy *wiphy,
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -1782,7 +1784,7 @@ static int __wlan_hdd_cfg80211_extscan_get_cached_results(struct wiphy *wiphy,
|
|||||||
if (0 != retval)
|
if (0 != retval)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -1981,7 +1983,7 @@ __wlan_hdd_cfg80211_extscan_set_bssid_hotlist(struct wiphy *wiphy,
|
|||||||
if (0 != retval)
|
if (0 != retval)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -2420,7 +2422,7 @@ __wlan_hdd_cfg80211_extscan_get_valid_channels(struct wiphy *wiphy,
|
|||||||
if (0 != ret)
|
if (0 != ret)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -2642,23 +2644,27 @@ static int hdd_extscan_start_fill_bucket_channel_spec(
|
|||||||
uint8_t bkt_index, j, num_channels, total_channels = 0;
|
uint8_t bkt_index, j, num_channels, total_channels = 0;
|
||||||
uint32_t expected_buckets;
|
uint32_t expected_buckets;
|
||||||
uint32_t chan_list[WNI_CFG_VALID_CHANNEL_LIST_LEN] = {0};
|
uint32_t chan_list[WNI_CFG_VALID_CHANNEL_LIST_LEN] = {0};
|
||||||
|
uint32_t extscan_active_min_chn_time;
|
||||||
|
uint32_t min_dwell_time_active_bucket;
|
||||||
|
uint32_t max_dwell_time_active_bucket;
|
||||||
|
uint32_t min_dwell_time_passive_bucket;
|
||||||
|
uint32_t max_dwell_time_passive_bucket;
|
||||||
|
|
||||||
uint32_t min_dwell_time_active_bucket =
|
ucfg_extscan_get_active_min_time(hdd_ctx->hdd_psoc,
|
||||||
hdd_ctx->config->extscan_active_max_chn_time;
|
&extscan_active_min_chn_time);
|
||||||
uint32_t max_dwell_time_active_bucket =
|
ucfg_extscan_get_active_max_time(hdd_ctx->hdd_psoc,
|
||||||
hdd_ctx->config->extscan_active_max_chn_time;
|
&max_dwell_time_active_bucket);
|
||||||
uint32_t min_dwell_time_passive_bucket =
|
ucfg_extscan_get_passive_max_time(hdd_ctx->hdd_psoc,
|
||||||
hdd_ctx->config->extscan_passive_max_chn_time;
|
&max_dwell_time_passive_bucket);
|
||||||
uint32_t max_dwell_time_passive_bucket =
|
|
||||||
hdd_ctx->config->extscan_passive_max_chn_time;
|
min_dwell_time_active_bucket = max_dwell_time_active_bucket;
|
||||||
|
min_dwell_time_passive_bucket = max_dwell_time_passive_bucket;
|
||||||
|
|
||||||
req_msg->min_dwell_time_active =
|
req_msg->min_dwell_time_active =
|
||||||
req_msg->max_dwell_time_active =
|
req_msg->max_dwell_time_active = max_dwell_time_active_bucket;
|
||||||
hdd_ctx->config->extscan_active_max_chn_time;
|
|
||||||
|
|
||||||
req_msg->min_dwell_time_passive =
|
req_msg->min_dwell_time_passive =
|
||||||
req_msg->max_dwell_time_passive =
|
req_msg->max_dwell_time_passive = max_dwell_time_passive_bucket;
|
||||||
hdd_ctx->config->extscan_passive_max_chn_time;
|
|
||||||
|
|
||||||
expected_buckets = req_msg->numBuckets;
|
expected_buckets = req_msg->numBuckets;
|
||||||
req_msg->numBuckets = 0;
|
req_msg->numBuckets = 0;
|
||||||
@@ -2750,11 +2756,11 @@ static int hdd_extscan_start_fill_bucket_channel_spec(
|
|||||||
/* start with known good values for bucket dwell times */
|
/* start with known good values for bucket dwell times */
|
||||||
req_msg->buckets[bkt_index].min_dwell_time_active =
|
req_msg->buckets[bkt_index].min_dwell_time_active =
|
||||||
req_msg->buckets[bkt_index].max_dwell_time_active =
|
req_msg->buckets[bkt_index].max_dwell_time_active =
|
||||||
hdd_ctx->config->extscan_active_max_chn_time;
|
max_dwell_time_active_bucket;
|
||||||
|
|
||||||
req_msg->buckets[bkt_index].min_dwell_time_passive =
|
req_msg->buckets[bkt_index].min_dwell_time_passive =
|
||||||
req_msg->buckets[bkt_index].max_dwell_time_passive =
|
req_msg->buckets[bkt_index].max_dwell_time_passive =
|
||||||
hdd_ctx->config->extscan_passive_max_chn_time;
|
max_dwell_time_passive_bucket;
|
||||||
|
|
||||||
/* Framework shall pass the channel list if the input WiFi band
|
/* Framework shall pass the channel list if the input WiFi band
|
||||||
* is WIFI_BAND_UNSPECIFIED.
|
* is WIFI_BAND_UNSPECIFIED.
|
||||||
@@ -2803,8 +2809,7 @@ static int hdd_extscan_start_fill_bucket_channel_spec(
|
|||||||
passive = 1;
|
passive = 1;
|
||||||
req_msg->buckets[bkt_index].channels[j].
|
req_msg->buckets[bkt_index].channels[j].
|
||||||
dwellTimeMs =
|
dwellTimeMs =
|
||||||
hdd_ctx->config->
|
max_dwell_time_passive_bucket;
|
||||||
extscan_passive_max_chn_time;
|
|
||||||
/* reconfigure per-bucket dwell time */
|
/* reconfigure per-bucket dwell time */
|
||||||
if (min_dwell_time_passive_bucket >
|
if (min_dwell_time_passive_bucket >
|
||||||
req_msg->buckets[bkt_index].channels[j].dwellTimeMs) {
|
req_msg->buckets[bkt_index].channels[j].dwellTimeMs) {
|
||||||
@@ -2822,7 +2827,7 @@ static int hdd_extscan_start_fill_bucket_channel_spec(
|
|||||||
passive = 0;
|
passive = 0;
|
||||||
req_msg->buckets[bkt_index].channels[j].
|
req_msg->buckets[bkt_index].channels[j].
|
||||||
dwellTimeMs =
|
dwellTimeMs =
|
||||||
hdd_ctx->config->extscan_active_max_chn_time;
|
max_dwell_time_active_bucket;
|
||||||
/* reconfigure per-bucket dwell times */
|
/* reconfigure per-bucket dwell times */
|
||||||
if (min_dwell_time_active_bucket >
|
if (min_dwell_time_active_bucket >
|
||||||
req_msg->buckets[bkt_index].channels[j].dwellTimeMs) {
|
req_msg->buckets[bkt_index].channels[j].dwellTimeMs) {
|
||||||
@@ -2929,9 +2934,9 @@ static int hdd_extscan_start_fill_bucket_channel_spec(
|
|||||||
|
|
||||||
/* Override dwell time if required */
|
/* Override dwell time if required */
|
||||||
if (req_msg->buckets[bkt_index].channels[j].dwellTimeMs <
|
if (req_msg->buckets[bkt_index].channels[j].dwellTimeMs <
|
||||||
hdd_ctx->config->extscan_active_min_chn_time ||
|
extscan_active_min_chn_time ||
|
||||||
req_msg->buckets[bkt_index].channels[j].dwellTimeMs >
|
req_msg->buckets[bkt_index].channels[j].dwellTimeMs >
|
||||||
hdd_ctx->config->extscan_active_max_chn_time) {
|
max_dwell_time_active_bucket) {
|
||||||
hdd_debug("WiFi band is unspecified, dwellTime:%d",
|
hdd_debug("WiFi band is unspecified, dwellTime:%d",
|
||||||
req_msg->buckets[bkt_index].channels[j].dwellTimeMs);
|
req_msg->buckets[bkt_index].channels[j].dwellTimeMs);
|
||||||
|
|
||||||
@@ -2941,11 +2946,13 @@ static int hdd_extscan_start_fill_bucket_channel_spec(
|
|||||||
req_msg->buckets[bkt_index].
|
req_msg->buckets[bkt_index].
|
||||||
channels[j].channel)))
|
channels[j].channel)))
|
||||||
!= CHANNEL_STATE_ENABLE) {
|
!= CHANNEL_STATE_ENABLE) {
|
||||||
req_msg->buckets[bkt_index].channels[j].dwellTimeMs =
|
req_msg->buckets[bkt_index].channels[j].
|
||||||
hdd_ctx->config->extscan_passive_max_chn_time;
|
dwellTimeMs =
|
||||||
|
max_dwell_time_passive_bucket;
|
||||||
} else {
|
} else {
|
||||||
req_msg->buckets[bkt_index].channels[j].dwellTimeMs =
|
req_msg->buckets[bkt_index].channels[j].
|
||||||
hdd_ctx->config->extscan_active_max_chn_time;
|
dwellTimeMs =
|
||||||
|
max_dwell_time_active_bucket;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3118,7 +3125,7 @@ __wlan_hdd_cfg80211_extscan_start(struct wiphy *wiphy,
|
|||||||
if (0 != retval)
|
if (0 != retval)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -3332,7 +3339,7 @@ __wlan_hdd_cfg80211_extscan_stop(struct wiphy *wiphy,
|
|||||||
if (0 != retval)
|
if (0 != retval)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -3460,7 +3467,7 @@ __wlan_hdd_cfg80211_extscan_reset_bssid_hotlist(struct wiphy *wiphy,
|
|||||||
if (0 != retval)
|
if (0 != retval)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -3575,7 +3582,7 @@ __wlan_hdd_cfg80211_extscan_reset_significant_change(struct wiphy *wiphy,
|
|||||||
if (0 != retval)
|
if (0 != retval)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -3785,7 +3792,7 @@ static int __wlan_hdd_cfg80211_set_epno_list(struct wiphy *wiphy,
|
|||||||
if (ret_val)
|
if (ret_val)
|
||||||
return ret_val;
|
return ret_val;
|
||||||
|
|
||||||
if (!hdd_ctx->config->extscan_enabled) {
|
if (!ucfg_extscan_get_enable(hdd_ctx->hdd_psoc)) {
|
||||||
hdd_err("extscan not supported");
|
hdd_err("extscan not supported");
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
|
@@ -115,9 +115,7 @@ enum cap_bitmap {
|
|||||||
TDLS = 6,
|
TDLS = 6,
|
||||||
P2P_GO_NOA_DECOUPLE_INIT_SCAN = 7,
|
P2P_GO_NOA_DECOUPLE_INIT_SCAN = 7,
|
||||||
WLANACTIVE_OFFLOAD = 8,
|
WLANACTIVE_OFFLOAD = 8,
|
||||||
#ifdef FEATURE_WLAN_EXTSCAN
|
|
||||||
EXTENDED_SCAN = 9,
|
EXTENDED_SCAN = 9,
|
||||||
#endif
|
|
||||||
#ifdef FEATURE_WLAN_SCAN_PNO
|
#ifdef FEATURE_WLAN_SCAN_PNO
|
||||||
PNO = 10,
|
PNO = 10,
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user