summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeela Venkata Kiran Kumar Reddy Chirala <kchirala@qca.qualcomm.com>2014-02-26 20:55:28 -0800
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-03-04 23:00:37 -0800
commit2e1efaf1583c80bc70c3804ffb4bd511a831e72e (patch)
tree18fba9af4ea5cd34b664c95b8f8a2724f65d0ff6
parent7e3c3a4cba6b3df2a4198a33767648b0133a3724 (diff)
Support to select a channel in the entire 5Ghz band
In the current ACS algorithm to select channel for SAP operation there is no support to select any channel in the entire 5Ghz band this commit adds support for that. Change-Id: Iacb82800d3de5a041d12afa29947169e0f600eb3 CRs-fixed: 616591
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg.h2
-rw-r--r--CORE/MAC/inc/wniCfgAp.h4
-rw-r--r--CORE/MAC/inc/wniCfgSta.h2
-rw-r--r--CORE/MAC/src/cfg/cfgUtil/cfg.txt4
-rw-r--r--CORE/SAP/inc/sapApi.h11
-rw-r--r--CORE/SAP/src/sapApiLinkCntl.c2
-rw-r--r--CORE/SAP/src/sapChSelect.c4
-rw-r--r--CORE/SAP/src/sapFsm.c13
-rw-r--r--CORE/SAP/src/sapModule.c15
-rw-r--r--firmware_bin/WCNSS_cfg.datbin10682 -> 10682 bytes
10 files changed, 38 insertions, 19 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 7ab28a9259be..d0d5e7b2e42c 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -473,7 +473,7 @@ typedef enum
#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND "gAPChannelSelectOperatingBand"
#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN (0)
-#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX (0x4)
+#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX (0x5)
#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT (0)
#define CFG_DISABLE_PACKET_FILTER "gDisablePacketFilter"
diff --git a/CORE/MAC/inc/wniCfgAp.h b/CORE/MAC/inc/wniCfgAp.h
index 066b33f9b008..180e41b8dfee 100644
--- a/CORE/MAC/inc/wniCfgAp.h
+++ b/CORE/MAC/inc/wniCfgAp.h
@@ -2397,11 +2397,11 @@
#define WNI_CFG_SAP_CHANNEL_SELECT_END_CHANNEL_APDEF 11
#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_STAMIN 0
-#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_STAMAX 4
+#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_STAMAX 5
#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_STADEF 0
#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_APMIN 0
-#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_APMAX 4
+#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_APMAX 5
#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_APDEF 0
#define WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMIN 0
diff --git a/CORE/MAC/inc/wniCfgSta.h b/CORE/MAC/inc/wniCfgSta.h
index c5a999a2012e..fba4c1218f58 100644
--- a/CORE/MAC/inc/wniCfgSta.h
+++ b/CORE/MAC/inc/wniCfgSta.h
@@ -1574,7 +1574,7 @@
#define WNI_CFG_SAP_CHANNEL_SELECT_END_CHANNEL_STADEF 11
#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_STAMIN 0
-#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_STAMAX 4
+#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_STAMAX 5
#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_STADEF 0
#define WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMIN 0
diff --git a/CORE/MAC/src/cfg/cfgUtil/cfg.txt b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
index 407352df04a4..ea1b8ba7375b 100644
--- a/CORE/MAC/src/cfg/cfgUtil/cfg.txt
+++ b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
@@ -4353,10 +4353,10 @@ NONE
WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND I 4 7
V RW NP
NONE
-0 0x4 0
+0 0x5 0
V RW NP
NONE
-0 0x4 0
+0 0x5 0
*
* Softap data available poll period (in milliseconds) for
diff --git a/CORE/SAP/inc/sapApi.h b/CORE/SAP/inc/sapApi.h
index 7fbcd4802548..415a06b13805 100644
--- a/CORE/SAP/inc/sapApi.h
+++ b/CORE/SAP/inc/sapApi.h
@@ -231,6 +231,15 @@ typedef enum {
eSAP_WPSPBC_ONE_WPSPBC_PROBE_REQ_IN120S, /* One WPS probe request in 120 second */
}eWPSPBCOverlap;
+typedef enum {
+ eSAP_RF_SUBBAND_2_4_GHZ = 0,
+ eSAP_RF_SUBBAND_5_LOW_GHZ = 1, //Low & Mid U-NII
+ eSAP_RF_SUBBAND_5_MID_GHZ = 2, //ETSI
+ eSAP_RF_SUBBAND_5_HIGH_GHZ = 3, //High U-NII
+ eSAP_RF_SUBBAND_4_9_GHZ = 4,
+ eSAP_RF_SUBBAND_5_ALL_GHZ = 5, //All 5 GHZ,
+}eSapOperatingBand;
+
/*----------------------------------------------------------------------------
* Typedefs
* -------------------------------------------------------------------------*/
@@ -1040,7 +1049,7 @@ WLANSAP_DeauthSta
============================================================================*/
VOS_STATUS
WLANSAP_SetChannelRange(tHalHandle hHal,v_U8_t startChannel, v_U8_t endChannel,
- v_U8_t operatingBand);
+ eSapOperatingBand operatingBand);
/*==========================================================================
FUNCTION WLANSAP_SetKeySta
diff --git a/CORE/SAP/src/sapApiLinkCntl.c b/CORE/SAP/src/sapApiLinkCntl.c
index 0dddb6d6d9cb..9c4d0f003353 100644
--- a/CORE/SAP/src/sapApiLinkCntl.c
+++ b/CORE/SAP/src/sapApiLinkCntl.c
@@ -194,7 +194,7 @@ WLANSAP_ScanCallback
the selected sub-band so select default channel in the
BAND(2.4GHz/5GHZ) */
ccmCfgGetInt( halHandle, WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND, &operatingBand);
- if(RF_SUBBAND_2_4_GHZ == operatingBand )
+ if(eSAP_RF_SUBBAND_2_4_GHZ == operatingBand )
psapContext->channel = SAP_DEFAULT_CHANNEL;
else
psapContext->channel = SAP_DEFAULT_5GHZ_CHANNEL;
diff --git a/CORE/SAP/src/sapChSelect.c b/CORE/SAP/src/sapChSelect.c
index fc5e19470c06..7a1c5380b9da 100644
--- a/CORE/SAP/src/sapChSelect.c
+++ b/CORE/SAP/src/sapChSelect.c
@@ -1685,7 +1685,7 @@ void sapComputeSpectWeight( tSapChSelSpectInfo* pSpectInfoParams,
break;
}
}
- else if(operatingBand == RF_SUBBAND_2_4_GHZ)
+ else if(operatingBand == eSAP_RF_SUBBAND_2_4_GHZ)
{
sapInterferenceRssiCount(pSpectCh);
}
@@ -1892,7 +1892,7 @@ v_U8_t sapSelectChannel(tHalHandle halHandle, ptSapContext pSapCtx, tScanResult
case eCSR_BAND_24:
startChannelNum = rfChannels[RF_CHAN_1].channelNum;
endChannelNum = rfChannels[RF_CHAN_14].channelNum;
- operatingBand = RF_SUBBAND_2_4_GHZ;
+ operatingBand = eSAP_RF_SUBBAND_2_4_GHZ;
break;
case eCSR_BAND_5G:
diff --git a/CORE/SAP/src/sapFsm.c b/CORE/SAP/src/sapFsm.c
index b24cb59343b9..4f5f1c0be286 100644
--- a/CORE/SAP/src/sapFsm.c
+++ b/CORE/SAP/src/sapFsm.c
@@ -1671,26 +1671,31 @@ static VOS_STATUS sapGetChannelList(ptSapContext sapContext,
switch(operatingBand)
{
- case RF_SUBBAND_2_4_GHZ:
+ case eSAP_RF_SUBBAND_2_4_GHZ:
bandStartChannel = RF_CHAN_1;
bandEndChannel = RF_CHAN_14;
break;
- case RF_SUBBAND_5_LOW_GHZ:
+ case eSAP_RF_SUBBAND_5_LOW_GHZ:
bandStartChannel = RF_CHAN_36;
bandEndChannel = RF_CHAN_64;
break;
- case RF_SUBBAND_5_MID_GHZ:
+ case eSAP_RF_SUBBAND_5_MID_GHZ:
bandStartChannel = RF_CHAN_100;
bandEndChannel = RF_CHAN_140;
break;
- case RF_SUBBAND_5_HIGH_GHZ:
+ case eSAP_RF_SUBBAND_5_HIGH_GHZ:
bandStartChannel = RF_CHAN_149;
bandEndChannel = RF_CHAN_165;
break;
+ case eSAP_RF_SUBBAND_5_ALL_GHZ:
+ bandStartChannel = RF_CHAN_36;
+ bandEndChannel = RF_CHAN_165;
+ break;
+
default:
VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
"sapGetChannelList:OperatingBand not valid ");
diff --git a/CORE/SAP/src/sapModule.c b/CORE/SAP/src/sapModule.c
index ad5f16cb488a..605a1686cad8 100644
--- a/CORE/SAP/src/sapModule.c
+++ b/CORE/SAP/src/sapModule.c
@@ -1328,7 +1328,7 @@ WLANSAP_DeauthSta
============================================================================*/
VOS_STATUS
WLANSAP_SetChannelRange(tHalHandle hHal,v_U8_t startChannel, v_U8_t endChannel,
- v_U8_t operatingBand)
+ eSapOperatingBand operatingBand)
{
v_U8_t validChannelFlag =0;
@@ -1367,26 +1367,31 @@ WLANSAP_SetChannelRange(tHalHandle hHal,v_U8_t startChannel, v_U8_t endChannel,
}
switch(operatingBand)
{
- case RF_SUBBAND_2_4_GHZ:
+ case eSAP_RF_SUBBAND_2_4_GHZ:
bandStartChannel = RF_CHAN_1;
bandEndChannel = RF_CHAN_14;
break;
- case RF_SUBBAND_5_LOW_GHZ:
+ case eSAP_RF_SUBBAND_5_LOW_GHZ:
bandStartChannel = RF_CHAN_36;
bandEndChannel = RF_CHAN_64;
break;
- case RF_SUBBAND_5_MID_GHZ:
+ case eSAP_RF_SUBBAND_5_MID_GHZ:
bandStartChannel = RF_CHAN_100;
bandEndChannel = RF_CHAN_140;
break;
- case RF_SUBBAND_5_HIGH_GHZ:
+ case eSAP_RF_SUBBAND_5_HIGH_GHZ:
bandStartChannel = RF_CHAN_149;
bandEndChannel = RF_CHAN_165;
break;
+ case eSAP_RF_SUBBAND_5_ALL_GHZ:
+ bandStartChannel = RF_CHAN_36;
+ bandEndChannel = RF_CHAN_165;
+ break;
+
default:
VOS_TRACE( VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR,
"Invalid operatingBand value on WLANSAP_SetChannelRange");
diff --git a/firmware_bin/WCNSS_cfg.dat b/firmware_bin/WCNSS_cfg.dat
index 077c06c8601e..1ad4523b5317 100644
--- a/firmware_bin/WCNSS_cfg.dat
+++ b/firmware_bin/WCNSS_cfg.dat
Binary files differ