Commit Graph

164 Commits

Author SHA1 Message Date
Hangtian Zhu
9a28ed0437 qcacld-3.0: Enable configurable dfs_pri_multiplier
Enable configurable dfs_pri_multiplier. The ETSI typ2 type3 radar
detection ratio is lower than expected(>80%) while channel loading is
high(>30%). The host improvement for this are:
	1. Add configurable dfs_pri_multiplier, controlled by
	   DFS_PRI_MULTIPLIER. Default value 2, min 1, max 10.
	2. Lower adrastea ETSI type 2/3/4 radar filter rssi_threshold,
	   controlled by DFS_OVERRIDE_RF_THRESHOLD, dfs log shows that
	   QCS405 target report RSSI range [18, 45] while radar power
	   is 3 dbm. By using default rssi_threshold 24 will reject
	   many radar pulses, which leads to low detection ratio.
	3. Calculate deltapri for each searchpri based on dfs_pri_multiplier
	   in dfs_count_the_other_delay_elements(), check deltapri
	   between [1, dfs_pri_multiplier] * refpri and searchpri, if
	   the primargin is desired, mark it as matched pulse.
	4. Pick lowpri as refpri for the radar filter with
	   rf_ignore_pri_window equals to 0 while DFS_PRI_MULTIPLIER is
	   enabled. Observed original findref logic has some problems
	   which selects refpri is bigger than lowpri, which leads to
	   the lowpri pulses pri_match are set to 0, and in this case,
	   radar was not detected. Example for the issue, assume
	   rf->rf_pulseid 34 (ETSI type 2) has 7 pulses with pri:
	   1489, 2978, 2978, 2978, 1489, 2978, 1489 us in this case,
	   highscore is 4 (2978), scoreindex is 5, refpri is 2978, which
	   leads to: index 0, 4, 6 pulses with pri_match 0 in
	   dfs_count_the_other_delay_elements(). The fix is to select
	   lowpri as refpri(1489 in this case).

Change-Id: I1f3ca3298c9ab1f1e2651ad6b4a0a4810f83f8a1
CRs-Fixed: 2522506
2019-09-25 06:14:10 -07:00
Srinivas Dasari
1ec7452b18 qcacld-3.0: Restore all control config params upon CLEAR_ALL
User might modify the roam control config params through
multiple commands as part of roam control config enable.
Currently, only the params which are modified as part of
SUBCMD_CONTROL_SET command are restored. Restore all of the roam
control config params from the default ini values when the
control config is disabled i.e when the CLEAR_ALL is received.

Change-Id: I59ebc2e3018b01889ffb2bcd19b72d6d20fd0517
CRs-Fixed: 2517854
2019-09-23 07:28:01 -07:00
Abhishek Singh
6e5c7a6f42 qcacld-3.0: Use add_bss_resp structure while handling add bss resp
The add_bss_req struct is used while handling add bss resp,
and is stored in vdev priv mlme.

The resp path require the info which can be filled from vdev resp
and thus no need to store the add_bss_req. From response fill and
use the add_bss_resp in add bss response handling path

Change-Id: I7ec1189c7d399e181f451a442a2578964eb4e47d
CRs-Fixed: 2529289
2019-09-18 22:53:52 -07:00
Yeshwanth Sriram Guntuka
ea2fb37ebc qcacld-3.0: Add mlme APIs and strutures to maintain roam sm
Add mlme APIs and structures to set and get roam
state, supplicant roam disabled flag and rso control
bitmap.

Change-Id: Ic97da49035462afffd9c86c1d9f9af08515e6747
CRs-Fixed: 2520824
2019-09-18 02:49:33 -07:00
Pragaspathi Thilagaraj
dd6a45dace qcacld-3.0: Fix roam scoring weightage ini configuration
To ensure the total weigtage of various factors doesn't exceed
100, there is a check in mlme_init_scoring_cfg(). If the total
weightage for roam score exceeds 100, the default values are
pushed for the weight configs.

In this computation, the enable/disable value is also added,
which results in configuration only upto 99%. Fix this weight
configuration and remove the enable flag value addition to the
total weight.

Change-Id: I15cf70428b2e8afa2203299dae98c287e5e2222d
CRs-Fixed: 2527361
2019-09-17 02:19:56 -07:00
Srinivas Dasari
cc863f0b26 qcacld-3.0: Consider PMF capa of peer also for rmf frame processing
Cache the PMF capability of peer in peer_mlme_priv_obj while
adding bss for both station and AP modes. Process the mgmt frames
received from the peer as rmf frames only if the peer is of PMF
capable.
Move mlme_peer_object creation and deletion out of the define
CRYPTO_SET_KEY_CONVERGED to make it generic.
Remove the check where WEP bit is validated and modified based on
PMF capability of the peer. This is already taken care while
setting WEP bit in lim.

Change-Id: I0c93bb25db6a866e4c1793c9ba4c60773c0f019d
CRs-Fixed: 2520249
2019-09-06 20:26:35 -07:00
Jianmin Zhu
ebe8ee40c5 qcacld-3.0: Add bss param and vdev start resp
Add vdev mgr vdev start resp handler.
Add bss param in vdev mlme priv and set/get/clear API.

Change-Id: I1fdd768254c0bbe5c062cc97341ae7c07b578b65
CRs-Fixed: 2516573
2019-09-06 12:25:50 -07:00
Abhishek Ambure
968f1515a5 qcacld-3.0: Clean up struct del_bss_params
As a part of vdev convergence, legacy vdev code for vdev delete/stop/
down is removed. WMA timer for vdev manager operations are deleted,
now target_if takes care of it.

Structure del_bss_params is no more used to store bss delete request
params, hence struct del_bss_params is cleaned up from legacy code.

Change-Id: I487d2683908b705176ff8064dd3ce7cd49a3ce47
CRs-Fixed: 2517880
2019-09-06 00:46:06 -07:00
Tushnim Bhattacharyya
d1d0db9db2 qcacld-3.0: Replace channel with frequency in wlan_mlme_reg
Replace channel ID with frequency in struct wlan_mlme_reg.

Change-Id: I71fcec5014e451cf912f187c79a1939d2d7e54ad
CRs-Fixed: 2518897
2019-09-04 18:53:38 -07:00
Abhishek Ambure
09905d743a qcacld-3.0: Refactor vdev stop/down code
Refactor vdev stop and down code to target_if common code.
Remove legacy code for vdev stop and down.

Change-Id: I4ab0743d39a3b37816ab9f18e8850cadf1335c15
CRs-Fixed: 2506649
2019-08-19 09:37:13 -07:00
Abhishek Ambure
cbef14404b qcacld-3.0: Refactor vdev delete code
Refactor vdev delete code for target_if conversion. Remove legacy
vdev delete code.

Change-Id: Ia95faa3a8eb561e19d439046a25bd7e452b98fb2
CRs-Fixed: 2471947
2019-08-05 16:45:48 -07:00
Abhishek Singh
8586573201 qcacld-3.0: Handle bss peer add failure in vdev state machine
In case bss peer add failure vdev state machine is in
substate  WLAN_VDEV_SS_START_START_PROGRESS and thus
WLAN_VDEV_SM_EV_CONNECTION_FAIL will not be handled and thus vdev
SM will not move to init state and pe session is not deleted.

This lead to vdev ref leak for the ref taken by pe create session.

Fix this by sending WLAN_VDEV_SM_EV_START_REQ_FAIL event when
vdev SM is in WLAN_VDEV_SS_START_START_PROGRESS state and continue
cleanup.

Change-Id: I4c559333a6bd018e3382f9781883acf314434cf2
CRs-Fixed: 2502817
2019-08-05 09:31:37 -07:00
hqu
7f10f558c4 qcacld-3.0: Define ext_vdev_ptr and ext_pdev_ptr with specific type
Define ext_vdev_ptr and ext_pdev_ptr with specific type, remove void
pointer usage for part of mlme code.

Change-Id: Ie71d59386224e4671bdae071aa7425a998d5e242
CRs-Fixed: 2488192
2019-07-27 18:21:17 -07:00
Srinivas Dasari
d4e8725828 qcacld-3.0: Send disconnect IEs received in deauth/disassoc to kernel
AP may send IEs in deauth/disassoc frames as part of disconnection.
Extract the same and forward to kernel through
cfg80211_disconnected().

Change-Id: I4ef339dcd1ecff64d6bed1de35621ecce5d8030a
CRs-Fixed: 2481912
2019-07-05 17:28:02 -07:00
Srinivas Dasari
e2ee09491a qcacld-3.0: Add disconnect_ies in deauth/disassoc frame
disconnect_ies sent from userspace are cached in vdev mgr object.
Send the same in deauth/disassoc frames initiated from the driver.
Free the IEs once the frame is sent out successfully.

Change-Id: Ib223a9da7f5795bc10d717efe23c6106391070bb
CRs-Fixed: 2481909
2019-07-05 17:27:57 -07:00
Srinivas Dasari
37e3731d4a qcacld-3.0: Get disconnect IEs and cache in vdev mgr object
Application sends disconnect IEs to driver through vendor command
SET_WIFI_CONFIGURATION by embeding in the attribute
QCA_WLAN_VENDOR_ATTR_DISCONNECT_IES. Extract the same and validate
to make sure it's not more than maximum IE length that can be
accomodated in deauth/disassoc frame. Cache the extracted IEs
in mlme vdev object.

Change-Id: I6c95aa1d4d8ef7d8ed3ad5be8832ef1f45c26a2f
CRs-Fixed: 2481908
2019-07-05 17:27:52 -07:00
Ashish Kumar Dhanotiya
2168aadfa4 qcacld-3.0: Add support to configure avoid acs freq list
Currently there is no ini support to configure frequencies
which needs to be avoided for the acs channel list which
may allow SAP to come up on a channel which is not preferred.

For Example there are many legacy clients which supports
2.4GHz but don't support channel 12 and 13 (or does not have
the capability to detect country change where channel 12 and
13 is valid).
In that case, if SAP comes up on channel 12/13, those legacy
clients won't be able to connect to AP.

Hence, Add a feature flag and ini to configure the frequency
list which can be avoided during acs.

Change-Id: Id106b38228f837ba056eb916004dc012e919ddd2
CRs-Fixed: 2472004
2019-07-03 08:55:49 -07:00
Yeshwanth Sriram Guntuka
c52f24d0f4 qcacld-3.0: Add INI support for FIPS handshake offload feature
Add ini support for FIPS 4-way hanshake offload to firmware. FIPS
offload feature will add support to handle LFR 3.0 connection only
(auth/reassoc). If this ini is set then firmware will offload
4-way HS to supplicant. In the Roam sync indication firmware will
inform connected and not authenticated so that supplicant can take
care of 4-way HS.

Change-Id: I3da58910218ffc57094cac4c3cab4572631d9404
CRs-Fixed: 2459182
2019-06-25 13:06:01 -07:00
Jinwei Chen
8cb25b3042 qcacld-3.0: Enable monitor mode based on VDEV SM
Enable monitor mode based on VDEV SM

Change-Id: I3ed95a7d741b802a67432bc8d8bcab05fe1b51d5
CRs-Fixed: 2457147
2019-06-19 16:46:25 -07:00
Abhishek Ambure
f8ee02b3b2 qcacld-3.0: Remove legacy mlme_nofl logs
Remove legacy mlme_nofl log macros. For mlme_nofl logging,
use common code mlme_nofl log macros.

Change-Id: Ie27fe9adcfdc087487071fe511500b1e8cb7435b
CRs-Fixed: 2471126
2019-06-14 01:49:45 -07:00
Nirav Shah
0b33219e88 qcacld-3.0: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: I0bd9248122b4f49274ee05a225ce6f880fede0cb
CRs-Fixed: 2468414
2019-06-11 17:37:28 -07:00
sheenam monga
0b8f257c1e qcacld-3.0: Populate correct ini value for SU beamformee caps
In function mlme_init_vht_cap_cfg(), initialization of
CFG_VHT_SU_BEAMFORMEE_CAP is done using the cfg_default() api,
which always returns the default value irrespective of the
ini configured.

Use cfg_get() api to get the default value of ini items.
cfg_get() api use gTxBFEnable ini for SU beamforce caps

Change-Id: I17062548931b5032dfdd56652ddaef2b96c8864e
CRs-Fixed: 2462350
2019-06-04 20:22:12 -07:00
Wu Gao
7f70e38aec qcacld-3.0: Fix kw issue about neighbor_scan_channel_list
CFG_VALID_CHANNEL_LIST_STRING_LEN as array size passed to
qdf_uint8_array_parse, which is more big than array size. So pass the
actual size - CFG_VALID_CHANNEL_LIST_LEN to that function.

Change-Id: I7596c0887147523570450dbac4dba2d03e7fe8b6
CRs-Fixed: 2462613
2019-06-03 15:24:30 -07:00
gaurank kathpalia
7ef7218496 qcacld-3.0: Add support for roaming in case of NUD failure
Add support for roaming in case the driver
detects a nud failure. The STA then would roam
to another BSSID, else if the roaming gets failed
the STA would remain connected to the same BSSID
as connected before.

Change-Id: Idbc99b0ce2f9cacd97564dd8cf9892120958eda2
CRs-Fixed: 2461675
2019-06-02 01:51:38 -07:00
Pragaspathi Thilagaraj
ed78190321 qcacld-3.0: Populate correct default values for BTM ini items
In function mlme_init_btm_cfg(), initializing the
btm_solicited_timeout, btm_max_attempt_cnt and btm_sticky_time
is done using the cfg_default() api, which always returns the
default value irrespective of the ini configured. This results
in failure of ini configuration from the WCNSS_qcom_cfg.ini file.

Use cfg_get() api to get the default value of ini items.

Change-Id: I773676cc67878f233cb6d14e0ad3ec1d79a5518f
CRs-Fixed: 2461612
2019-05-31 05:17:04 -07:00
Abhishek Ambure
7acc2c1609 qcacld-3.0: Cleanup VDEV_SM legacy code
Legacy code of VDEV SM is no more used, hence this cleanup is done.

Change-Id: I8dc649639c4c1afb4ae206a046fe530e172bced9
CRs-Fixed: 2454039
2019-05-17 16:21:48 -07:00
hqu
f2c3099c2b qcacld-3.0: Fix wrong MBSSID information for VDEV UP command
VDEV UP command doesn't include right MBSSID information, it will
cause data stall issue and so on.

Fix is to provide right MBSSID information with VDEV UP command.

Change-Id: I0201722c14dee1b01b8dacc7e3095301fb02fd3a
CRs-Fixed: 2434405
2019-05-16 14:45:39 -07:00
Abhishek Singh
06522c56cd qcacld-3.0: On CSA complete, check if all peer need to be disconnected
CSA on DFS channels requires CAC period after RESTART response, peers
can leave during CAC period due to HB failure. But peers remain
connected in SAP and are not deleted.
Now if vdev down is called during CAC wait period, the peer delete
all is not called, and vdev delete is sent without sending peer
delete to firmare leading to assert.

This change adds the logic to internally disconnect all peers before
channel switch if CAC is required on new channel, i.e new channel is
DFS and pre-CAC is not done and ignore cac is not set.

Change-Id: I923fd11d1b9d4a2c606b19ff94baaf44397d3e20
CRs-Fixed: 2449104
2019-05-10 16:28:32 -07:00
Abhishek Ambure
ec00007647 qcacld-3.0: Rename mlme log macros
MLME log macros like mlme_debug, mlme_err, mlme_info are having same
definition in legacy and common code. To avoid this redefination,
lagacy MLME log macros are renamed.

Change-Id: I71fbbcd1f74df73e82b799b318a9e9a95a3cb0c8
CRs-Fixed: 2446535
2019-05-08 02:51:33 -07:00
Bala Venkatesh
accb9ddbfc qcacld-3.0: Disable OCE in FW if SAP/ GO has any clients
Disable OCE in STA vdev if any sta gets associated to SAP/GO.
This will improve the scan results in STA interface.
Without this fix firmware will do probe request deferral for 15ms
out of 28 ms , so 15ms is gone and rest is not sufficient dwell
time to get all AP probe responses.

Change-Id: Ie6f79c86025c53360c792c740a963ed8a1d9b936
CRs-Fixed: 2443190
2019-05-03 05:45:18 -07:00
Pragaspathi Thilagaraj
1f3f99fd1f qcacld-3.0: Add support for adaptive 11r
Adaptive 11r feature that enables the AP to support FT-AKM
without configuring the FT-AKM in the network. The AP will
advertise non-FT akm with a vendor specific IE having Adaptive
11r bit set to 1 in the IE data. The AP also advertises the
MDE in beacon/probe response.

The STA should check the adaptive 11r capability if the AP
advertises MDE in beacon/probe and adaptive 11r capability in
vendor specific IE.  If adaptive 11r capability is found,
STA should advertise the FT equivalent of the non-FT AKM.

Introdue a compile time flag WLAN_ADAPTIVE_11R_ENABLED to
enable/disable adaptive 11r support.

If the AP is adaptive 11r capable, set the is_adaptive_11r_ap
flag in bss descrtiptor. This flag will be sent in join request
and populated to pe_session. Also mark the CSR session as
adaptive 11r session based on this flag.

Add changes to check for the adaptive 11r service capability
advertised by firmware. If the host driver connects to adaptive
11r AP, enable RSO only if the firmware advertises adaptive
11r capability, else RSO should be disabled.

If the connection is adaptive 11r connection and if the adaptive
11r ini is enabled, set the adaptive_11r flag in
wmi_roam_11r_offload_tlv_param sent over the wmi command
WMI_ROAM_SCAN_MODE to the firmware. This will enable firmware to
filter the adaptive 11r AP from roam scan results.

Change-Id: If27a2393e3f4bb68942f5ebcec0135f57627f16b
CRs-Fixed: 2437988
2019-05-02 08:15:49 -07:00
Abhishek Singh
f880a7df25 qcacld-3.0: Use peer to get the cipher to decide MIC length
Driver uses cipher stored in vdev to get the MIC length, which
may get updated if multiple peer(TDLS peer in STA case) get
connected to the vdev. Thus depending on latest peer cipher type
the MIC length will be calculated for all peers.

Add changes to store cipher info in peer and use it to calculate
MIC length for the frame if CRYPTO_SET_KEY_CONVERGED is defined.

Change-Id: I852e4b519f55d8020237989314f8506aa275f379
CRs-Fixed: 2444416
2019-05-01 23:41:43 -07:00
Pragaspathi Thilagaraj
eb367282fd qcacld-3.0: Handle wmi_key_material_ext tlv of ROAM_SYNCH event
With current design, firmware sends the kck, kek and replay
counters as part of wmi_key_material tlv over the
WMI_ROAM_SYNCH_EVENTID event. But the maximum supported kck key
length in wmi_key_material was 16 bytes. But for FT Suite-B
(akm 00:0f:ac:13), the kck_bits is 24 bytes long and cannot be
sent over wmi_key_material. So firmware sends kck, kek and
replay counter values over the new tlv wmi_key_material_ext.

Host driver copies the kck key with fixed 16 byte length to the
upper layers. Introduce kck_length parameter in csr_roam_info
and roam_offload_synch_ind structures and copy kck based on this
length.

Also fix maximum number of AKM suites supported to 5, as some
certification test cases advertise 5 akms.

Change-Id: Iab050e3e3f7efead8070a02094998d15f7ffcbd0
CRs-Fixed: 2400770
2019-04-24 20:23:59 -07:00
Paul Zhang
a25f75a841 qcacld-3.0: Add INI to config tx retry threshold
Add gTxAggSwRetry for tx aggregation case, and
Add gTxNonAggSwRetry for non tx aggregation case.

Change-Id: I92265fb4e279eaf63c45f0134f997df02bca8737
CRs-Fixed: 2436305
2019-04-24 04:05:41 -07:00
Abhishek Ambure
afe03c50c1 qcacld-3.0: Add debug stats for sta, ap and ext mlme ops
MLME debug stats are added to the sta, ap and ext mlme ops
functions. This will help in debugging.

Change-Id: I55a3a91c6daf98a77557175447798c670be5709a
CRs-Fixed: 2439436
2019-04-23 16:18:27 -07:00
Pragaspathi Thilagaraj
2b8ea35e71 qcacld-3.0: Introduce new INI to configure roam trigger parameters
Add new ini to configure various roam trigger parameters:
1. "minimum_btm_candidate_score"
   Consider the AP as roam candidate only if its score is greater
   than minimum_btm_candidate_score. This value will be sent over
   the WMI_BTM_OFFLOAD_CONFIG command.

2. "roam_scan_inactivity_time"
   Device inactivity monitoring time in  milliseconds for which
   the device is considered to be inactive with data packets
   count is less than configured roam_inactive_count.

3. "roam_inactive_data_packet_count"
   Maximum allowed data packets count during
   roam_scan_inactivity_time.

4. "roam_scan_period_after_inactivity"
   Roam scan period in ms after device was in inactive state.

5. "btm_roam_score_delta"
   Roam scan delta value for btm triggered roam scan. This value
   will be sent to firmware over the WMI_ROAM_AP_PROFILE wmi
   command.

6. "idle_roam_score_delta"
   Roam scan delta value for Idle roam scan trigger reason. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_delta_param_list tlv.

7. "disconnect_roam_trigger_min_rssi"
   Candidate minimum rssi value for disconnect roam trigger. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_min_rssi_param_list tlv.

8. "beacon_miss_roam_min_rssi"
   Candidate minimum rssi value for BTM triggered roam. This
   value will be sent to firmware over the WMI_ROAM_AP_PROFILE
   wmi commnd in the roam_score_min_rssi_param_list tlv.

9. "bss_load_trigger_5g_rssi_threshold"
   If connected AP is in 5GHz band, then consider bss load roam
   triggered only if load % > bss_load_threshold && connected AP
   rssi is worse than bss_load_trigger_5g_rssi_threshold.

10. "bss_load_trigger_2g_rssi_threshold"
   If connected AP is in 2GHz band, then consider bss load roam
   triggered only if load % > bss_load_threshold && connected AP
   rssi is worse than bss_load_trigger_2g_rssi_threshold.

Change-Id: Ib026251a8ec403f4376a16a91ff1b5d969336816
CRs-Fixed: 2434922
2019-04-19 04:08:32 -07:00
Pragaspathi Thilagaraj
14f72de820 qcacld-3.0: Introduce new ini to configure disconnect/idle roam scans
Add new ini to configure required parameters to trigger
disconnect/idle roam scan:
1.enable_disconnect_roam_offload
	When this ini is enabled firmware will trigger roam scan
	and roam to a new ap if candidate is found and it will
	not forward the deauth frame to the host driver. If
	roaming fails after this deauth, then firmware will
	forward the deauth frame to the host. If roaming is
	successful, we will follow the normal roam synch event
	path.
2.enable_idle_roam
	When this ini is enabled firmware will trigger roam scan
	and roam to a new ap if current connected AP rssi falls
	below the threshold. To consider the connection as idle,
	the following conditions should be met:
		1. When user space sends "SET SUSPENDMODE"
		   command with value 0.
		2. No TX/RX data for idle time configured
		3. Connected AP rssi change doesn't exceed the
		   threshold
		4. Connected AP rssi false below minimum rssi.
3. idle_roam_rssi_delta
	RSSI change in current connected AP above/below which
	idle roam scan will be triggered if other criteria is
	met.
4. idle_roam_inactive_time
	Time duration in milliseconds for which the connection is
	to be considered idle.
5. idle_data_packet_count
	number of tx/rx packets below which the connection is
	idle.

Change-Id: Ibd1c91656ecd681f8dc83bc77197668a7f3bfa3f
CRs-Fixed: 2427132
2019-04-15 15:20:59 -07:00
Abhishek Singh
7c1c7431da qcacld-3.0: Use peer to get the cipher to decide MIC length
Driver uses cipher stored in vdev to get the MIC length, which
may get updated if multiple peer(TDLS peer in STA case) get
connected to the vdev. Thus depending on latest peer cipher type
the MIC length will be calculated for all peers.

To fix store cipher info in peer and use it to calculate MIC length
for the frame.

Change-Id: I8afbf9a3bb43c294dbacbbaa7fa0746600937d11
CRs-Fixed: 2428482
2019-04-05 03:33:17 -07:00
Harprit Chhabada
e57425536e qcacld-3.0: Add support for bcast deauth in sap mode
Currently, only broadcast disassociate is supported and deauth is
send in a unicast manner.
For enabling broadcast deauth support, bypass the unicast deauth
and directly send broadcast disassociate.

Change-Id: Ie196bc955b5b9a9f48a474e5f109b2a6c73fa208
CRs-Fixed: 2420980
2019-03-26 20:56:07 -07:00
Srinivas Girigowda
b8fdc643d2 qcacld-3.0: Consolidate multiple MAX_SSID_LEN to WLAN_SSID_MAX_LEN
Consolidate multiple MAX_SSID_LEN to WLAN_SSID_MAX_LEN.

Change-Id: I1764b891501c4e3371cf478c324ebcdcab319f5f
CRs-Fixed: 2419367
2019-03-20 22:09:45 -07:00
Abhinav Kumar
4356594c3e qcacld-3.0: Add new config for BTM offload
Currently, whenever roaming is triggered after a successful roam scan
firmware sends a BTM query to current connected AP when it is 11v
capable. Driver completes roaming with candidates received as part of
BTM request from AP. STA respond to AP with BTM response after
successful initiation of roaming.

Now the requirement is FW could send "BTM query with a preferred
candidate list" after a successful roam scan for some roam scan reasons
like PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE etc. Preferred candidate list
is obtained as part of roam scan based on firmware bss scoring logic.

Add new ini "btm_query_bitmask" to configure the bitmask for roam scan
reasons which is sent to firmware as part of RSO start via wmi btm config
cmd. Fw sends "BTM query with preferred candidate list" only for those
roam scans which are enabled through this bitmask.
New INI: btm_query_bitmask
Min: 0
Max: 0xFFFFFFFF
Default: 0x8
Bitmask : 0x8 (LOW_RSSI) refer enum WMI_ROAM_TRIGGER_REASON_ID.

Change-Id: I24b538745f2ac88d4e5c990573234e0f8a881b1f
CRs-Fixed: 2408111
2019-03-20 10:10:17 -07:00
Srinivas Girigowda
cf161406dd qcacld-3.0: Use converged qcacmn macros (part 1)
Replace the existing qcacld-3.0 macros with qcacmn converged
macros.

Change-Id: Ie05f396fcd2e01cf86256f25dbc171bbdf763da9
CRs-Fixed: 2416429
2019-03-19 02:24:23 -07:00
Sandeep Puligilla
3746d5db95 qcacld-3.0: Enable vdev manager support for LFR3.0
Enable vdev manager support for LFR3.0

Change-Id: I5e8a420eadd98786fe43d7d6e60980209f7a42e1
CRs-Fixed: 2405842
2019-03-06 10:59:37 -08:00
Abhinav Kumar
990fea6267 qcacld-3.0: Add new ini to config roaming scan behavior
Add new ini "roaming_scan_policy" to config roaming scan
behavior (DBS/non-DBS) in fw side.

This ini is corresponding scan_ctrl_flags_ext in
wmi_start_scan_cmd_fixed_param when host sends
WMI_ROAM_SCAN_MODE to fw.

Change-Id: Id95c3b9bb40d4f32ab3ff14a30f72c6150ac1884
CRs-Fixed: 2398531
2019-02-23 05:18:42 -08:00
Srinivas Dasari
ed83ddebcd qcacld-3.0: Introduce ini parameter for SAE support on SAP
Define ini parameter enable_sae_for_sap to enable SAE
support on SAP. It's enabled by default.

Change-Id: I94f099862ad04e0c9f5155ad9dd7165241540c45
CRs-Fixed: 2394661
2019-02-19 21:54:00 -08:00
Harprit Chhabada
09b5003488 qcacld-3.0: Add ini for supporting partial/full bandwidth UL MUMIMO
Add ini to support partial and full bandwifth feature of UL MU-MIMO.
0-> no support
1-> partial bandwidth
2-> full and partial bandwidth

Change-Id: I94b2c8e525795a32a923e75f0650742f806dfcd5
CRs-Fixed: 2397536
2019-02-15 18:28:28 -08:00
Kiran Kumar Lokere
9cab525856 qcacld-3.0: Add support for 11ax draft 3.3 changes
Add support for 11ax Draft 3.3 specification.

Change-Id: I18eda46c724f8febe5652876175bebfda3f7fc88
CRs-Fixed: 2388130
2019-02-15 03:27:15 -08:00
Pragaspathi Thilagaraj
a889375029 qcacld-3.0: Refactor legacy ini items
Refactor the below two ini items to new converged cfg/ini
infrastructure:
"gEnableChangeChannelBandWidth"
"extscan_adaptive_dwell_mode"

"extscan_adaptive_dwell_mode" - move this to scm module
"gEnableChangeChannelBandWidth" - move this to mlme

Change-Id: I1ca6657a95c2cd47057f11ccf23c47347f3fc33b
CRs-Fixed: 2394240
2019-02-11 07:38:23 -08:00
Abhinav Kumar
c8c215007a qcacld-3.0: ADD MLME INI item of WMM Config
Add the WMM config ini config
CFG_TL_DELAYED_TRGR_FRM_INT_NAME to MLME cfg.

Introduce the basic infra APIs related to these configs
from mlme.

Change-Id: Ifaf8072a78f21760e00973e625d7c8e41d8b51a6
CRs-Fixed: 2361533
2019-02-08 06:14:33 -08:00
Sandeep Puligilla
3461878302 qcacld-3.0: Refactor 11AC override CFG items
Refactor following CFG items
1. CFG_SAP_11AC_OVERRIDE
2. CFG_GO_11AC_OVERRIDE

Change-Id: I63497fcc4440fb079fa0f8d8879758baad2d8fc2
CRs-Fixed: 2391667
2019-02-07 10:10:20 -08:00