From bafaff128b4d473fb6fa1ecb9351055c4df8c531 Mon Sep 17 00:00:00 2001 From: Agrawal Ashish Date: Tue, 27 Dec 2016 17:43:08 +0530 Subject: [PATCH] qcacld-3.0: Add INI and IOCTL template for SAP ACS feature Add INI and IOCTL template for SAP ACS feature for documentation. Change-Id: Id8088ee9b1f79c975d15d71c10aca1e05e35f82b CRs-Fixed: 1105602 --- core/hdd/inc/wlan_hdd_cfg.h | 56 ++++++++++++++++++++++++++++++++++-- core/hdd/src/wlan_hdd_cfg.c | 37 ++++++++++++------------ core/hdd/src/wlan_hdd_wext.c | 18 ++++++++++++ 3 files changed, 91 insertions(+), 20 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index 68ebd4504b5e..52b5fcf729df 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -5302,24 +5302,76 @@ enum hdd_link_speed_rpt_type { #define CFG_ENABLE_DYNAMIC_DTIM_DEFAULT (0) /* - * Driver Force ACS is reintroduced for android SAP legacy configuration method. - * If Driver force acs is enabled, channel/ hw config from hostapd is ignored. + * + * gApAutoChannelSelection - Force ACS from ini + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * This ini is used to set to enable force acs from driver. + * If enabled, channel/ hw config from hostapd is ignored. * Driver uses INI params dot11Mode, channel bonding mode and vht chan width * to derive ACS HW mode and operating BW. * * Non android platforms shall not use force ACS method and rely on hostapd * driven ACS method for concurrent SAP ACS configuration, OBSS etc. + * + * Related: Only applicable if gCoalesingInIBSS is 0 + * + * Supported Feature: SAP + * + * Usage: Internal/External + * + * */ #define CFG_FORCE_SAP_ACS "gApAutoChannelSelection" #define CFG_FORCE_SAP_ACS_MIN (0) #define CFG_FORCE_SAP_ACS_MAX (1) #define CFG_FORCE_SAP_ACS_DEFAULT (0) +/* + * + * gAPChannelSelectStartChannel - start channel for ACS + * @Min: 0 + * @Max: 0xFF + * @Default: 1 + * + * This ini is used to set start channel for ACS. + * ACS scan will choose channel between force_sap_acs_st_ch + * and force_sap_acs_end_ch + * + * Related: Only applicable gAPChannelSelectEndChannel is set + * + * Supported Feature: SAP + * + * Usage: Internal/External + * + * + */ #define CFG_FORCE_SAP_ACS_START_CH "gAPChannelSelectStartChannel" #define CFG_FORCE_SAP_ACS_START_CH_MIN (0) #define CFG_FORCE_SAP_ACS_START_CH_MAX (0xFF) #define CFG_FORCE_SAP_ACS_START_CH_DEFAULT (1) +/* + * + * gAPChannelSelectEndChannel - end channel for ACS + * @Min: 0 + * @Max: 0xFF + * @Default: 11 + * + * This ini is used to set end channel for ACS. + * ACS scan will choose channel between force_sap_acs_st_ch + * and force_sap_acs_end_ch + * + * Related: Only applicable if gAPChannelSelectStartChannel is set + * + * Supported Feature: SAP + * + * Usage: Internal/External + * + * + */ #define CFG_FORCE_SAP_ACS_END_CH "gAPChannelSelectEndChannel" #define CFG_FORCE_SAP_ACS_END_CH_MIN (0) #define CFG_FORCE_SAP_ACS_END_CH_MAX (0xFF) diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c index 837713d9d197..192fed5b46a5 100644 --- a/core/hdd/src/wlan_hdd_cfg.c +++ b/core/hdd/src/wlan_hdd_cfg.c @@ -611,29 +611,30 @@ struct reg_table_entry g_registry_table[] = { CFG_ENABLE_LTE_COEX_DEFAULT, CFG_ENABLE_LTE_COEX_MIN, CFG_ENABLE_LTE_COEX_MAX), + REG_VARIABLE(CFG_FORCE_SAP_ACS, WLAN_PARAM_Integer, - struct hdd_config, force_sap_acs, - VAR_FLAGS_DYNAMIC_CFG | - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_FORCE_SAP_ACS_DEFAULT, - CFG_FORCE_SAP_ACS_MIN, - CFG_FORCE_SAP_ACS_MAX), + struct hdd_config, force_sap_acs, + VAR_FLAGS_DYNAMIC_CFG | + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_FORCE_SAP_ACS_DEFAULT, + CFG_FORCE_SAP_ACS_MIN, + CFG_FORCE_SAP_ACS_MAX), REG_VARIABLE(CFG_FORCE_SAP_ACS_START_CH, WLAN_PARAM_Integer, - struct hdd_config, force_sap_acs_st_ch, - VAR_FLAGS_DYNAMIC_CFG | - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_FORCE_SAP_ACS_START_CH_DEFAULT, - CFG_FORCE_SAP_ACS_START_CH_MIN, - CFG_FORCE_SAP_ACS_START_CH_MAX), + struct hdd_config, force_sap_acs_st_ch, + VAR_FLAGS_DYNAMIC_CFG | + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_FORCE_SAP_ACS_START_CH_DEFAULT, + CFG_FORCE_SAP_ACS_START_CH_MIN, + CFG_FORCE_SAP_ACS_START_CH_MAX), REG_VARIABLE(CFG_FORCE_SAP_ACS_END_CH, WLAN_PARAM_Integer, - struct hdd_config, force_sap_acs_end_ch, - VAR_FLAGS_DYNAMIC_CFG | - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_FORCE_SAP_ACS_END_CH_DEFAULT, - CFG_FORCE_SAP_ACS_END_CH_MIN, - CFG_FORCE_SAP_ACS_END_CH_MAX), + struct hdd_config, force_sap_acs_end_ch, + VAR_FLAGS_DYNAMIC_CFG | + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_FORCE_SAP_ACS_END_CH_DEFAULT, + CFG_FORCE_SAP_ACS_END_CH_MIN, + CFG_FORCE_SAP_ACS_END_CH_MAX), REG_VARIABLE(CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer, struct hdd_config, apKeepAlivePeriod, diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index 7dc7b45b5033..bfbf064d8638 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/core/hdd/src/wlan_hdd_wext.c @@ -620,6 +620,24 @@ static const struct ccp_freq_chan_map freq_chan_map[] = { * */ #define WE_PPS_RSSI_CHECK 53 +/* + * + * setAutoChannel - set ACS enable/disable + * + * @INPUT: None + * + * @OUTPUT: None + * + * This IOCTL is used to set SAP ACS eanble/disable + * + * @E.g: iwpriv wlan0 setAutoChannel 0 + * + * Supported Feature: SAP + * + * Usage: Internal/External + * + * + */ #define WE_SET_SAP_AUTO_CHANNEL_SELECTION 54 /* *