qcacld-3.0: Support BAND_ALL in case of ICM from HOST driver side

Whenever hw_mode=any is set in hostapd.conf, BAND_ALL is sent to
HOST driver from hostapd. ICM module doesn't support BAND_ALL
and so HOST driver internally changes the band to BAND_2G or BAND_5G
based on acs_freq_band and update the channel list and ch_width
accordingly.

ICM module supports BAND_ALL now so don't do any optimization on
band in HOST driver.

Change-Id: Ia0b554f72ba0d5063ff622edbe1fa7113b984142
CRs-Fixed: 2224675
This commit is contained in:
Himanshu Agarwal 2018-04-14 13:57:34 +05:30 • committed by nshrivas
commit 3022b30e99
3 changed files with 0 additions and 68 deletions

View file

@ -11734,46 +11734,6 @@ enum hdd_external_acs_policy {
#define CFG_EXTERNAL_ACS_POLICY_MAX (HDD_EXTERNAL_ACS_PCL_MANDATORY)
#define CFG_EXTERNAL_ACS_POLICY_DEFAULT (HDD_EXTERNAL_ACS_PCL_PREFERRED)
/*
* enum hdd_external_acs_policyl - Preferred freq band for external ACS
* @HDD_EXTERNAL_ACS_FREQ_BAND_24GHZ -2.4GHz band
* @HDD_EXTERNAL_ACS_FREQ_BAND_5GHZ -5GHz band
*
* enum hdd_external_acs_freq_band is used to select the freq band for ACS.
*
*/
enum hdd_external_acs_freq_band {
HDD_EXTERNAL_ACS_FREQ_BAND_24GHZ = 0,
HDD_EXTERNAL_ACS_FREQ_BAND_5GHZ = 1,
};
/*
* <ini>
* external_acs_freq_band - External ACS freq band
* @Min: 0
* @Max: 1
* @Default: 0
*
* Values are per enum hdd_external_acs_freq_band.
*
* This ini is used to select the ACS freq band. Currently
* the external ACS module doesn't support channels from
* both the bands. Once multiple band support is added in
* ICM, this ini can be removed
*
* Related: None
*
* Supported Feature: ACS
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_EXTERNAL_ACS_FREQ_BAND "acs_freq_band"
#define CFG_EXTERNAL_ACS_FREQ_BAND_MIN (HDD_EXTERNAL_ACS_FREQ_BAND_24GHZ)
#define CFG_EXTERNAL_ACS_FREQ_BAND_MAX (HDD_EXTERNAL_ACS_FREQ_BAND_5GHZ)
#define CFG_EXTERNAL_ACS_FREQ_BAND_DEFAULT (HDD_EXTERNAL_ACS_FREQ_BAND_24GHZ)
/*
* gSapMaxMCSForTxData - sap 11n max mcs
* @Min: 0
@ -14688,7 +14648,6 @@ struct hdd_config {
uint32_t mawc_nlo_init_scan_interval;
uint32_t mawc_nlo_max_scan_interval;
enum hdd_external_acs_policy external_acs_policy;
enum hdd_external_acs_freq_band external_acs_freq_band;
/* threshold of packet drops at which FW initiates disconnect */
uint16_t pkt_err_disconn_th;
bool is_force_1x1;

View file

@ -4550,13 +4550,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_EXTERNAL_ACS_POLICY_MIN,
CFG_EXTERNAL_ACS_POLICY_MAX),
REG_VARIABLE(CFG_EXTERNAL_ACS_FREQ_BAND, WLAN_PARAM_Integer,
struct hdd_config, external_acs_freq_band,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_EXTERNAL_ACS_FREQ_BAND_DEFAULT,
CFG_EXTERNAL_ACS_FREQ_BAND_MIN,
CFG_EXTERNAL_ACS_FREQ_BAND_MAX),
REG_VARIABLE(CFG_DROPPED_PKT_DISCONNECT_TH_NAME, WLAN_PARAM_Integer,
struct hdd_config, pkt_err_disconn_th,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@ -7014,9 +7007,6 @@ void hdd_cfg_print(struct hdd_context *hdd_ctx)
hdd_debug("Name = [%s] Value = [%d]",
CFG_EXTERNAL_ACS_POLICY,
hdd_ctx->config->external_acs_policy);
hdd_debug("Name = [%s] Value = [%d]",
CFG_EXTERNAL_ACS_FREQ_BAND,
hdd_ctx->config->external_acs_freq_band);
hdd_debug("Name = [%s] value = [%u]",
CFG_DROPPED_PKT_DISCONNECT_TH_NAME,
hdd_ctx->config->pkt_err_disconn_th);

View file

@ -2177,23 +2177,6 @@ static void hdd_get_scan_band(struct hdd_context *hdd_ctx,
} else if (sap_config->acs_cfg.band == QCA_ACS_MODE_IEEE80211ANY) {
*band = BAND_ALL;
}
/* Auto is not supported currently */
if (!((*band == BAND_2G) || (BAND_5G == *band))) {
hdd_err("invalid band");
if (HDD_EXTERNAL_ACS_FREQ_BAND_24GHZ ==
hdd_ctx->config->external_acs_freq_band)
*band = BAND_2G;
else
*band = BAND_5G;
hdd_update_acs_channel_list(sap_config, *band);
}
if (*band == BAND_2G &&
(sap_config->acs_cfg.ch_width == CH_WIDTH_80MHZ ||
sap_config->acs_cfg.ch_width == CH_WIDTH_160MHZ ||
sap_config->acs_cfg.ch_width == CH_WIDTH_80P80MHZ))
sap_config->acs_cfg.ch_width = CH_WIDTH_40MHZ;
}