Commit Graph

719 Commits

Author SHA1 Message Date
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
gaurank kathpalia
fa7ad0a453 qcacld-3.0: Update the ini params according to the BDF setting
Currently the driver just start the vdev according to the ini
params, without consdering the tx, rx chainmask supported by the
FW per band, per mac, which can lead to connection in 2x2, even
though FW is not capable of 2 antennas on a particular band.

Fix is to intersect both the tx, rx chainmask for both bands,
and change the ini to minimum of the nss supported by ini, and
the BDF setting of the chains.

Change-Id: Ib0e9bac19959bbcf9bade7dbd78674be4099a23d
CRs-Fixed: 2414103
2019-03-20 22:09:28 -07:00
Jeff Johnson
14c15f3e44 qcacld-3.0: target_if: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within target_if replace any such comparisons with
logical operations performed on the pointer itself.

Change-Id: Id9b5185713b91b67ddf1d965a6c7e52508558d82
CRs-Fixed: 2418397
2019-03-20 22:09:09 -07:00
Bala Venkatesh
3b113c5ec3 qcacld-3.0: Add NULL check for bss peer
In function tdls_delete_all_tdls_peers, bss peer can be NULL
if the bss peer is removed from vdev object. Hence, add  NULL
check  before getting its reference.

Change-Id: I9b2b03bc6db899c1c06de95ec5ee680d4b600aa7
CRs-Fixed: 2419567
2019-03-20 22:08:55 -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
Jeff Johnson
e79b53c3f7 qcacld-3.0: cmn_services: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within cmn_services replace any such comparisons with
logical operations performed on the pointer itself.

Change-Id: I7141cd900916bd4bbab1bc8c7a1b90589286582b
CRs-Fixed: 2418402
2019-03-20 10:10:12 -07:00
Ashish Kumar Dhanotiya
9e0627bfd8 qcacld-3.0: Add support to set inactivity timout for PMO
Currently there is no support to configure the inactivity
timeout when driver goes to wow mode or when driver resumes
from wow mode.

Add support for PMO component to configure the wow mode
inactivity timeout with ini g_wow_data_inactivity_timeout
when driver enters into wow mode and when driver resumes
from wow mode add support to configure the inactivity
timeout for non wow mode with ini gDataInactivityTimeout.

CRs-fixed: 2412866
Change-Id: I0672f22a5dfec870e5e67b23058db2729b9a0848
2019-03-20 08:25:38 -07:00
Jeff Johnson
1da105c70d qcacld-3.0: mlme: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within mlme replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: Iac19509c5fdcce036e0288653d61638cf04f01d6
CRs-Fixed: 2418400
2019-03-20 00:57:53 -07:00
Jeff Johnson
06476ce1df qcacld-3.0: disa: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within disa replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: Id25e4748819d206e361a55532a5ccfd648744b15
CRs-Fixed: 2418403
2019-03-20 00:57:48 -07:00
Jeff Johnson
eb27860f1d qcacld-3.0: p2p: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within p2p replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I3f987cc2603bd3e4d41881db8c847046884d7e76
CRs-Fixed: 2418399
2019-03-19 22:54:38 -07:00
wadesong
442b9f2ccb qcacld-3.0: Code refine for 4 ini items
1) Refine the documentation text of 4 ini items:
   gStaKeepAlivePeriod
   gApKeepAlivePeriod
   gChannelBondingMode5GHz
   gChannelBondingMode24GHz

2) Fix a discrepancy which happens when ini cfg values
   are converted from those defined in enum
   eIniChanBondState to the corresponding values in
   enum ePhyChanBondState.

3) Use the related APIs to setup channel bonding modes
   instead of directly assigning values.

4) Remove the redundant inclusion of the following two
   header files in csr_api_roam.c:
   cfg_ucfg_api.h
   wlan_mlme_api.h

Change-Id: I43c1e5a05bbb34952a5c7bdbde734f4014592c12
CRs-Fixed: 2416991
2019-03-19 02:24:41 -07:00
Jeff Johnson
361e1786c6 qcacld-3.0: pmo: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within pmo replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: I3697ede27e074252017e31be23caa93fc25885c5
CRs-Fixed: 2418398
2019-03-19 02:24:37 -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
hangtian
bb591aa59d qcacld-3.0: Revert "Allow SSR during driver resume"
Revert "Allow SSR during driver resume", change-id:
Ie1689e0b080f940666fbbb19c9f0e3b0fecfe564.

Change-Id: I3673ad030ecdb5112d4e28cc34102d58295c50a7
CRs-Fixed: 2412130
2019-03-17 20:42:50 -07:00
stonez
c9936cb3ed qcacld-3.0: Add INI parameter to enable/disable MPTA helper
Due to PTA master limitation, zigbee joining network success rate
is low while wlan is working. Wlan host driver need to configure
some parameters including Zigbee state and specific WLAN period to
enhance PTA master. This mechanism is called MPTA helper. The INI
parameter gMPTAHelperEnable is used to enable/disable this feature.

Change-Id: I070c06a00ec2c405540cc40251f5cb7fec211cbd
CRs-Fixed: 2407801
2019-03-15 07:46:55 -07:00
Rachit Kankane
def2b174a2 qcacld-3.0: Update ACS channel list with PCL
Current ACS logic sometimes selects MCC channel based on its
algo for SAP / GO which results in SAP / GO bring-up failures.
This issue is seen in below concurrency combinations:
1. SAP + SAP
2. SAP + P2P-GO
3. SAP + SAP + SAP
4. SAP + SAP + P2P-GO

So with this change driver restricts ACS scan to intersection of
PCL and ACS channel list.
This implementation will take care of existing STA + SAP case as well,
as PCL will have channels according to 1st connection being STA.

Change-Id: Ic715fb29533c20b63cffda8a82b7317904f0d291
CRs-Fixed: 2407289
2019-03-14 19:27:35 -07:00
wadesong
bfc88b4a0d qcacld-3.0: cfg ini documentation refine
Some malformed comments were discovered when generating
the official documentation of wlan cfg ini items.

Refine the documentation text of the following items
in one batch:

gEnableDynamicDTIM
g_sap_chanswitch_mode
gVhtChannelWidth
gDataInactivityTimeout

Change-Id: I2b1455d0ea27fd35dc0cf66316c7dc3b348ee0ac
CRs-Fixed: 2416086
2019-03-14 11:17:48 -07:00
Kiran Kumar Lokere
921b5a5213 qcacld-3.0: Configuration support for HE testbed defaults
Add support to configure HE testbed defaults configuration
settings.

Change-Id: I13a2158ac2e1fd05465bd74103a96fb427592de0
CRs-Fixed: 2414928
2019-03-13 23:21:36 -07:00
wadesong
e1fc997982 qcacld-3.0: Code refine for SSDP and DTIM config
1) 'ssdp' in t_wma_handle structure is not used anymore,
   remove this redundant field.
2) ucfg_pmo_set_sta_mod_dtim and ucfg_pmo_get_sta_mod_dtim
   should have been accessing 'sta_mod_dtim' instead of
   'sta_dynamic_dtim' in struct pmo_psoc_cfg.

Change-Id: Iedd7bed1c9f637a819f97b6d8c687b784739dd62
CRs-Fixed: 2415087
2019-03-13 23:21:20 -07:00
wadesong
8e3d053517 qcacld-3.0: cfg ini documentation refine
Some malformed comments were discovered when generating
the official documentation of wlan cfg ini items.

Refine the documentation text of the following items
in one batch:

gEnableVendorVhtFor24GHzBand
hostArpOffload
ssdp
gEnableDynamicDTIM
gEnableModulatedDTIM

Change-Id: I3cd617e52e86e2a890e35edb33b37ba3df8f4f6e
CRs-Fixed: 2414259
2019-03-13 00:07:14 -07:00
Nachiket Kukade
413c5fa36e qcacld-3.0: Add policy mgr changes to support NDI concurrencies
If Firmware supports NDI DBS mode, driver can support NDI
concurrency along with NAN and STA type connecitons. Use
Policy Manager API's to add support for these concurrencies.

Add policy mgr related changes to support NDI concurrencies.

Change-Id: If272be34606c0897d0b145c602b4bc2ba4462cb0
CRs-Fixed: 2384549
2019-03-12 13:58:17 -07:00
Nachiket Kukade
98885bc1b8 qcacld-3.0: Define NDI related definitions in Policy Manager
Policy manager is not aware of NAN Datapath Interface(NDI)
which is used to establish datapath with NAN peers. Define
and enumerate policy manager definitions and tables to
support NDI alongside NAN Discovery and Station interfaces.
Important thing to note is that NDI cannot be active without
presence of a NAN Discovery interface.

Define NAN Datapath related definitions in Policy Manager.

Change-Id: I6ecdf5a89a8161d9c5d671e4e718dd615f46019e
CRs-Fixed: 2407225
2019-03-12 13:58:12 -07:00
Nachiket Kukade
9ea5f13a28 qcacld-3.0: Add support for disabling an NDI concurrency
NAN Datapath implementation allows more than one concurrent
NDI's to be active at the same time. But this isn't supported
if there is a higher priority incoming connection such as
STA. Add modules that check for unsupported NDI concurrency
and initiates termination of all NDP's on it.

Add modules that check and disable unsupported NDI concurrency.

Change-Id: I6ad9afbfc41beda1d1c8f31bf58a8ea70027f5ca
CRs-Fixed: 2407215
2019-03-12 13:58:08 -07:00
Abhishek Singh
a0f55ea6b1 qcacld-3.0: Send HW mode change before switching channel in DBS mode
If DBS 2x2 mode is supported, to operate in 2.4Ghz the driver needs to
be in DBS mode before vdev start/restart is sent on 2.4Ghz channel.
In scenareo with gWlanMccToSccSwitchMode 4, when AP is in 5Ghz and
STA connect to any other channel in 5ghz, it force AP to switch to 2.4 Ghz
channel. Thus AP sends vdev restart without sending the HW mode change
to firmware.

Fix is to set HW mode before the AP start channel switch.

Change-Id: I2a1c176d5f3ed8cc2f62dc24c72959db1afbaae3
CRs-Fixed: 2414034
2019-03-12 08:34:52 -07:00
Rajeev Kumar Sirasanagandla
4477e7e4ae qcacld-3.0: Fix function type for sme_ser_cmd_callback
To address kernel control flow integrity (CFI) issues related to type
mismatch, correct the input argument type for sme_ser_cmd_callback().

Change-Id: I3f0b5df70163eca9282d2b1c2a48203448e4f0a6
CRs-Fixed: 2402977
2019-03-12 06:09:56 -07:00
Wu Gao
530adb5158 qcacld-3.0: Pass p2p psoc obj to tx timer callback
When forming P2P connection, mgmt tx timer timeout when tx ack event
queued in scheduler but not processed, and then wild pointer access
in tx timer timeout callback since processed tx ack event and tx
context is freed.

Change-Id: I598e611a9e1d72bbaddbbe3541f37479f3cb9bbb
CRs-Fixed: 2372686
2019-03-12 04:29:47 -07:00
Bala Venkatesh
ef8692ef8a qcacld-3.0: Send correct vdev_id to enable TDLS in FW
After STA or P2P cli disconnection, TDLS component is notfied
of the disconnection to check if the TDLS can be enabled in FW
and host. But while sending tdls set state command to FW,
the disconnected vdev_id is given to FW. This can result in
FW assert while processing the next tdls commands.

Change-Id: Ib79547ce9d192b1d8bba3767655b3dada36e5e95
CRs-Fixed: 2412170
2019-03-12 02:58:45 -07:00
Yeshwanth Sriram Guntuka
6125b515d4 qcacld-3.0: Increase default value of bmps timer to 600secs
CBF report is not sent as response to NDPA frames
sent by AP when STA goes to powersave. This is
resulting in VHT-5.2.63A cert test case failure,
where pass criteria is to check the last CBF frame
from STA.

Fix is to increase default value of bmps timer to
600secs.

Change-Id: Ibca5fe0af0be22f0bef463a5b4d11d617ac4391b
CRs-Fixed: 2412177
2019-03-11 09:18:26 -07:00
Bala Venkatesh
f28679097c qcacld-3.0: Take vdev ref only if vdev is not NULL
In functions ucfg_tdls_update_rx_pkt_cnt and
ucfg_tdls_update_tx_pkt_cnt, driver tries
to get the vdev ref, even if it is NULL.
This can result in assert.

Change-Id: I62b3a9b088324e06518e82203092a2ac9098ac13
CRs-Fixed: 2412095
2019-03-11 04:47:47 -07:00
hangtian
ee84dbeb33 qcacld-3.0: Allow SSR during driver resume
Allow SSR during driver resume. Assume firmware goes down during driver
is in suspend state. Avoid get into bad state and wmi access during driver
resume.

Change-Id: Ie1689e0b080f940666fbbb19c9f0e3b0fecfe564
CRs-Fixed: 2412130
2019-03-11 01:35:00 -07:00
Harprit Chhabada
89780bfc35 qcacld-3.0: Clean up of external range validation for Boolean type
BOOLEAN is native c type so external range validation is not needed.
Cleanup references to cfg_in_range(), cfg_min and cfg_max for
BOOLEAN items

Change-Id: I4a60d1bbd12ad3cce00b33c551b3927b2f01f638
CRs-Fixed: 2359500
2019-03-09 21:14:00 -08:00
Rajeev Kumar
c80f91056d qcacld-3.0: Mark client kick out event as wake event in SAP mode
In SAP mode apps should wake up to handle the client kick out event
from fw and delete the remote peer such that remote peer is not hanging
in partial connected state when apps is in power save mode. Mark client
kick out event as wake event in SAP mode such that apps can wake up and
properly disconnect the kicked out remote client.

Change-Id: I9e2e56820be0bed8019d2fb810a12a129deadd37
CRs-Fixed: 2410124
2019-03-08 06:04:28 -08:00
Jayachandran Sreekumaran
2613f32128 qcacld-3.0: Set the correct the peer type in p2p go mode
In p2p go mode the peer type in wlan peer common object is always
set to P2P_CLI. This leads to non-cancellation of NoA after connecting
to legacy stations. Correct the peer type for legacy stations.

Change-Id: Ib706f9a80d0ad367e27fd21eca6cf026cba63f57
CRs-Fixed: 2406127
2019-03-08 06:04:23 -08:00
Bala Venkatesh
1ca2be1c00 qcacld-3.0: Fix return status in tdls_activate_update_peer
If the curr_peer link status is tearing or connected,
activate peer cmd is rejected and the return status is sent
to supplcant as success even.

But return failure status to supplicant if the link is tearing.

Change-Id: Ia976fee03c77191a7e617a3e21e8c5ddf98759d0
CRs-Fixed: 2411146
2019-03-07 14:30:26 -08:00
Sravan Kumar Kairam
c047d29ff2 qcacld-3.0: Add IPA over GSI support
For IPA WDI3.0 veresion IPA uses GSI FW. So add IPA
over GSI support.

Change-Id: I3ecdb0b365e6004f7694d19ea8165233f00c6335
CRs-Fixed: 2368038
2019-03-07 02:01:37 -08:00
Nachiket Kukade
15bd4f725e qcacld-3.0: Define WMA callback to update NDI conn info
Unlike other connection types, vdev start parameters for NDI
do not reflect the correct connection information for the
datapath. Once an NDP is established on NDI this info in WMA
needs to be updated accordingly. Define a WMA callback and
use it after NDP confirm and NDP End to update the connection
info for NDI.

Use WMA callback for updating NDI connection info.

Change-Id: Iefb515a751bd3fb5e10610d191bdadaf3a01f59a
CRs-Fixed: 2407153
2019-03-07 00:20:26 -08:00
Nachiket Kukade
6f46abc449 qcacld-3.0: Store NDP connection info in NAN's peer objects
To support NAN Datapath concurrencies driver needs to be aware
of the primary NDP connection for each NDI. If the primary
NDP has ended, driver needs to update NDI with the second NDP
if it exists. For this purpose driver needs to track the NDP
connections for every peer associated with NDI. Store and
update the primary NDP connection info in peer object for
NDP confirm, NDP End & NDP schedule update.

Store and update NDP connection info in NAN's peer objects.

Change-Id: I7d2c8c513beceebf155596bfa73841a834d9a97a
CRs-Fixed: 2406402
2019-03-06 22:43:26 -08: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
Wu Gao
4fe2308438 qcacld-3.0: Avoid to start ROC with invalid duration
Up layer tx probe response frame with wait/duration 0, which may be
start ROC with duration 0 and then tx mgmt frame fail since of very
short ROC and no enough time to wait for tx ack.

Change-Id: I5243ff10726b642d8cf18992a230d741f9d2655f
CRs-Fixed: 2397719
2019-03-05 05:36:28 -08:00
Bala Venkatesh
00e90dda38 qcacld-3.0: Allow SAP to move from one DFS channel to another DFS
Allow the SAP to move from DFS channel to another DFS channel in
STA+SAP SCC concurrency scenario.

Change-Id: Ie2091bbdd758ed7f3bef1757ff42bbe5034fe908
CRs-Fixed: 2408892
2019-03-04 14:22:30 -08:00
Nachiket Kukade
d5b7ebcc37 qcacld-3.0: Define NAN peer objects for storing NDP Peer info
Host presently stores NAN Peer specific info, such as number
of active NDP sessions, in an array inside vdev private object.
The array uses Peer index from HDD connection info. Instead,
use object manager to define peer private objects to store
this information.

Define NAN peer objects for storing NDP Peer info

Change-Id: I43d9339d06acc0eff61cafb337ccb084c372c7e1
CRs-Fixed: 2405507
2019-03-02 17:45:36 -08:00
Ajit Pal Singh
a70e315601 qcacld-3.0: Add config option for CFG_TGT_NUM_MSDU_DESC
Add driver config option for CFG_TGT_NUM_MSDU_DESC

Change-Id: I9c738de779d03819e6920e9d3e260ec3d1fbd524
CRs-Fixed: 2390958
2019-03-02 13:31:05 -08:00
Bala Venkatesh
2ee149738c qcacld-3.0: Remove vdev chk_frame structure
Chk frame member of the tdls_mgmt_req is declared locally inside of
the local function wlan_cfg80211_tdls_mgmt and address is copied
in the mgmt request, and posted to scheduler thread.
But, the validity of the chk frame variable is lost once returned
from the wlan_cfg80211_tdls_mgmt function. And the chk_frame
is used when processing the tdls_mgmt_req in scheduler thread.
And the stale data of chk_frame can be used.

Hence, make the chk_frame as a variable instead pointer inside
tdls_action_frame_request request.

Change-Id: Ib2a8a81e8f6db5550b1d0abee31d9f7ea5dacd9b
CRs-Fixed: 2402124
2019-03-02 05:12:42 -08:00
Jianmin Zhu
462ab8693f qcacld-3.0: Fix assert when iwpriv wlan0 addTspec
If ACM is off and can't send AddTspec too, we should
be still ok to send uapsd info to AP via reassoc req.

If roam offload is enabled, when csr_reassoc is called, vdev
start cmd is sent during vdev started status, assert will happen.

Fix: call sme_fast_reassoc in sme_qos_request_reassoc to invoke
LFR3 roam if roam offload supported.

Reproduce steps:
1. Change ini: gAddTSWhenACMIsOff=0
2. DUT STA connected AP
3. iwpriv wlan0 addTspec 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Change-Id: Idbd53ff0af36cb3b68c514e399d0033c41c74a78
CRs-Fixed: 2402542
2019-03-01 09:23:53 -08:00
Bala Venkatesh
448e8cd53e qcacld-3.0: Move the INI gSkipDfsChannelInP2pSearch to scan component
Currently, INI gSkipDfsChannelInP2pSearch is initialized in P2P
component and later copied to scan component for usage.
Since this INI is only used by scan component and not the P2P
component, move the initialization part also to the scan
component.

Change-Id: I44a6208ab5f3ee062073550143e23e5800342376
CRs-Fixed: 2405395
2019-02-28 18:35:37 -08:00
Sachin Ahuja
981e8e7b41 qcacld-3.0: Update MC address list correctly
Currently while copying the MC address list, PMO
checks for the IPv6 router solicitation address. If this
address is found in the source list then this address is
ignored but the hole is created in the destination list.
As a result of this hole, FW does not filter the packets
for the last configured MC address in the list.

To mitigate this issue, add the correct logic of copying
the MC addresses from source list to destination list when
IPv6 router solicitation address is found in the source list.

Change-Id: If9412933d30259e7260e4d9e11cc514dec964355
CRs-Fixed: 2403419
2019-02-27 05:09:30 -08:00
Jeff Johnson
e723995185 qcacld-3.0: Remove session_id from struct pmo_wow_add_pattern
The session_id field in struct pmo_wow_add_pattern does not serve any
purpose, so remove it.

Change-Id: I477b74c1360f124fb493440a8289fb2a4382c6d5
CRs-Fixed: 2404828
2019-02-27 05:09:26 -08:00
Bala Venkatesh
79fe810190 qcacld-3.0: Check for STA+GO restart only if SAP is active
In function policy_mgr_is_restart_sap_allowed, STA+SAP concurrency is
decided based on return status of policy_mgr_get_concurrency_mode.
It can happen, SAP adapter is opened. But hostapd_open and start_ap
is not done. Then, this api will return SAP bit true even even though
SAP is not active. So, explicitly check if the SAP is active by
checking the SAP connection count along with the concurrency mode.

This can result in GO channel override with STA channel.
Hence check the sap and go mode connection count along
with the concurrency mode.

Change-Id: I672d503f34734d7e16175fedc685d2838e77d8f7
CRs-Fixed: 2405189
2019-02-26 11:29:59 -08:00
Jeff Johnson
cdd14b6563 qcacld-3.0: Remove "same as" comments from TDLS public structs
As part of the original TDLS componentization legacy typedefs were
replicated to create the TDLS public structs. Due to the way in which
these data structures were initially used there was an implicit
requirement that their memory layout be exactly identical, and some of
the public structs had comments of the form "same as <foo>" to show
this relationship. Over time the use of the legacy typedefs has been
phased out in favor of the public structs, but some of the public
structs still have "same as" comments which reference legacy typedefs
which no longer exist. To avoid confusion remove those comments.

Change-Id: I46b498155907eea3ddf3f2a00f8138a1aac95b72
CRs-Fixed: 2404154
2019-02-26 00:09:08 -08:00
Jeff Johnson
7318367ba7 qcacld-3.0: Remove transaction_id from tdls_send_mgmt_request
The transaction_id in struct tdls_send_mgmt_request is unused, so
remove it.

Change-Id: Id06d6883a34d8becbb0040464e0abaecfbfd3b92
CRs-Fixed: 2404153
2019-02-26 00:09:03 -08:00
Jeff Johnson
8ef5a3b3e1 qcacld-3.0: Remove transaction_id from tdls_send_mgmt_rsp
The transaction_id in struct tdls_send_mgmt_rsp is unused, so remove
it. Also remove the comment that implies this struct has the same
structure as tSirSmeRsp since it does not.

Change-Id: I79cf0b2051b232635f37808155ddbd6438a40658
CRs-Fixed: 2404152
2019-02-26 00:08:58 -08:00
Jeff Johnson
ab797d63a8 qcacld-3.0: Converge on struct tdls_del_sta_req
During TDLS componentization the legacy typedef tSirTdlsDelStaReq was
replicated, creating struct tdls_del_sta_req. Unfortunately this left
the driver with two different data structures which serve the same
purpose. Not only is this pointless, but due to the way in which these
structures are used there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
exclusively use the TDLS component struct.

Note that this struct must be promoted to be a public struct since it
is now accessed from outside the component.

Change-Id: I054ee24e07062a60c4e00b935cd1bc5b4a9aef95
CRs-Fixed: 2400769
2019-02-26 00:08:49 -08:00
Jeff Johnson
4cdd1ac8e0 qcacld-3.0: Converge on struct tdls_add_sta_req
During TDLS componentization the legacy typedef tSirTdlsAddStaReq was
replicated, creating struct tdls_add_sta_req. Unfortunately this left
the driver with two different data structures which serve the same
purpose. Not only is this pointless, but due to the way in which these
structures are used there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
exclusively use the TDLS component struct.

Note that this struct must be promoted to be a public struct since it
is now accessed from outside the component.

Change-Id: I37500ead43eed2295df24c70b96e0b6ff85738c6
CRs-Fixed: 2400768
2019-02-26 00:08:43 -08:00
Wu Gao
814ce703b4 qcacld-3.0: Format ini descriptions
Some ini descriptions are different to common, and some of them
include wrong information, so correct them and use unified form.

Change-Id: I36348fb26a03cab254fd309d792125b8a21ad02f
CRs-Fixed: 2402446
2019-02-24 21:34:47 -08:00
Jeff Johnson
93cf08a710 qcacld-3.0: Converge on struct tdls_send_mgmt_request
During TDLS componentization the legacy typedef tSirTdlsSendMgmtReq
was replicated, creating struct tdls_send_mgmt_request. Unfortunately
this left the driver with two different data structures which serve
the same purpose. Not only is this pointless, but due to the way in
which these structures are used there is an implicit requirement that
they be exactly identical. This approach is very fragile. To align
with the converged software architecture and to improve code
maintainability exclusively use the TDLS component struct.

Note that this struct must be promoted to be a public struct since it
is now accessed from outside the component.

Change-Id: I7d304d3d211101c7227ea621f307f91ff68a5753
CRs-Fixed: 2400767
2019-02-24 16:40:55 -08:00
Dustin Brown
79304efc65 qcacld-3.0: Remove EOK from PMO
There are several instances of incorrectly using EOK with QDF_STATUS.
Address all infractions in PMO.

Change-Id: I105498281ca90ff56465737041d204aeebaa86ec
CRs-Fixed: 2403940
2019-02-23 14:06:25 -08:00
Dustin Brown
207286b118 qcacld-3.0: Provide reason to QDF_DEBUG_PANIC()
A common pattern in WLAN to panic the driver is to log the reason and
then unconditionally panic. QDF_DEBUG_PANIC() takes a reason string to
help make the reason for the panic more obvious, but it is not always
used. Ensure all callers of QDF_DEBUG_PANIC() provide a reason string.

Change-Id: I3d23a8980adaeaa1a9798a4a6b0fba1f36eb52ad
CRs-Fixed: 2403829
2019-02-23 14:06:21 -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
Pragaspathi Thilagaraj
a07b727e75 qcacld-3.0: Fix 11k neighbor report parameters copy from fwol component
11k offload params bitmask is sent over the wmi command
WMI_11K_OFFLOAD_REPORT_CMDID. Its value is controlled by the ini
value "nr_offload_params_bitmask". The ini value got from the cfg
component during initialization is not correctly populated to the
sme layer resulting in zero values sent to firmware. This results
in 11k functionality failure.

Populate the 11k values to sme with values stored into fwol
component from ucfg_fwol_get_neighbor_report_cfg.

Change-Id: I8615745083cdab677bca8cbb76eb0902758a8a75
CRs-Fixed: 2397328
2019-02-20 19:02:04 -08:00
Jeff Johnson
2de587987d qcacld-3.0: Replace CONVERGED_TDLS_ENABLE feature flag
The CONVERGED_TDLS_ENABLE feature flag was originally introduced when
the TDLS feature was being componentized so that one could select
either the legacy implementation or the componentized implementation.
That componentization activity has concluded and the legacy
implementation no longer exists. To align with the current usage
switch to exclusively using the FEATURE_WLAN_TDLS feature flag since
that more accurately describes the code being protected.

Change-Id: I2cdb4c6ddba22c5b1d29e87403e5e1c87ce5cbfe
CRs-Fixed: 2395728
2019-02-20 09:09:34 -08:00
Rachit Kankane
ff35d3c8be qcacld-3.0: decrement active sessions count
Decrement active session count to be in sync with total no of
active connection when existing AP is moving to STA's channel
to achieve SCC.

Change-Id: Id1b599bc53768ddf6b62efbd2dc2a3003c0ad0b8
CRs-Fixed: 2400564
2019-02-19 23:31:07 -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
Bala Venkatesh
31cca2f512 qcacld-3.0: Start the driver roc timer same as supplicant requested
Driver multiplies the supplicant requested roc duration by either
6 or 10 times and then requests FW roc of that much duration.
This is because to extend the roc after rx frame is received.
Currently, host is initializing the internal roc timer for the
duration same as requested to FW.
In such case we cannot extend the roc as currently there is only check
for timer running, but not the remaining time. And FW may give
scan completion event immediately after sending the tx frame.

Change-Id: Ib864949d232c31422f83d78bd6b318cadbf13366
CRs-Fixed: 2397924
2019-02-19 06:56:53 -08:00
Nachiket Kukade
6159553884 qcacld-3.0: In PMO, replace cfg_get_int with component cfg API's
Legacy WNI CFG items are refactored into new CFG implementation.
PMO uses a wma callback which uses cfg_get API to get listen
interval. Listen interval is now part of the MLME component's
private object. Define API's to get this value and use it instead
of the callbacks.

Remove WMA callback implementation and use new API that gets
listen interval from MLME component.

Change-Id: I797001ea14cc654f9daee3ce297e1ad0c0a08f2a
CRs-Fixed: 2386725
2019-02-17 20:49:59 -08:00
Jeff Johnson
74c6bb25ba qcacld-3.0: Conditionally build TDLS component
Currently the TDLS component code is unconditionally built which will
bloat images where TDLS is not required. Fix this by only building the
TDLS component when the TDLS feature is enabled.

Change-Id: I7496b8f07ed495b00e62fc3cf50a96e1829d9341
CRs-Fixed: 2399966
2019-02-16 21:28:39 -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
Nachiket Kukade
92ee534ea3 qcacld-3.0: Cleanup usage of RA rate limit variables in WMA
By design, when APF is supported by target, RA filtering need
not be configured. Legacy code handled this by passing INI value
of RA rate limit value to WMA and intersecting it with APF
enabled flag. Change Iabb75b46fce64b2c4a7a303848d7cb6b4714253b
replaced this implementation by a single check in PMO. So remove
the WMA legacy code since it has no purpose now. Also remove
unused PMO prototypes pmo_update_ra_limit and
pmo_update_target_service.

Cleaunp the WMA code that intersects RA rate limit and APF
variables.

Change-Id: I870a1271a627d47242000f5e04068e628f567216
CRs-Fixed: 2379745
2019-02-15 11:46:18 -08:00
gaurank kathpalia
37b4636b42 qcacld-3.0: Make PCL mandatory for ACS
Currently the driver has the default ini of
PCL policy to select SAP channel as optional,
which leads to ACS on a band where the STA is
present, hence a waste of time, because SAP anyways
has to move to STA channel.

Fix is to make the PCL mandatory, so that the driver
doesn't waste time in ACS, and returns the best channel
of STA, to turn on hotspot fast.

Change-Id: Id9d3dd60e93c9df9e3c65ad8583d8d90058094f8
CRs-Fixed: 2395581
2019-02-15 08:09:59 -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
Rakshith Suresh Patkar
107a659f57 qcacld-3.0: Validate session_id in __wlan_ipa_wlan_evt
Session_id in __wlan_ipa_wlan_evt is used as an index
to access the array ipa_ctx->vdev_to_iface[].

Add sanity check for session_id to avoid invalid access.

Change-Id: Ie6079924c4772c3fa892b4537120db136a899885
CRs-Fixed: 2395162
2019-02-15 02:08:41 -08:00
Jeff Johnson
2be205e590 qcacld-3.0: Remove UAPSD trigger structs from TDLS public structs
As part of the TDLS feature, structs sta_uapsd_trig_params and
sta_uapsd_params were replicated from qcacmn wmi_unified_param.h to
qcacld-3.0 wlan_tdls_public_structs.h, and conditional compilation
based upon CONVERGED_TDLS_ENABLE was used to determine which structs
are actually used by a build. Since these structs are not specific to
TDLS, remove the duplicates and exclusive use the structs from qcacmn
wmi_unified_param.h.

This is co-dependent upon Ida0f2b6f131ff2dce7217b881ffadecfd685f563
("qcacmn: Remove TDLS featurization from UAPSD trigger structs").

Change-Id: I37b2d80a4710aced158dcf2ea973d15801a7cecc
CRs-Fixed: 2395823
2019-02-13 16:05:21 -08:00
Jeff Johnson
067f2376f0 qcacld-3.0: Rename enumeration TDLS_PEER_STATE_CONNCTED
Enumeration TDLS_PEER_STATE_CONNCTED contains a spelling error, so
rename it to TDLS_PEER_STATE_CONNECTED.

Change-Id: Ifa0ff667a407cdad3e240aec6c188f20336a166a
CRs-Fixed: 2397350
2019-02-13 14:47:13 -08:00
Varun Reddy Yeturu
567184febc qcacld-3.0: Fix compiler error in policy mgr
Before updating pcl_list_org & weight_list_org array,
memzero these arrays to length of array passed by caller.

CRs-Fixed: 2395140
Change-Id: I856ceafd8f4d86eeee3401227f5d6f48615098f5
2019-02-12 08:44:58 -08:00
Dustin Brown
6412d1f9cc qcacld-3.0: Move hdd_dsc to osif/sync
Move the contents of hdd_dsc to the new files added in osif/sync as part
of Ica94d32028d10d344294d6cc12d91a06efe1ab6c.

Change-Id: I556e9d2833edd2bd26266496b6000347649c5fbe
CRs-Fixed: 2396512
2019-02-11 23:58:12 -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
Bala Venkatesh
76dd143a12 qcacld-3.0: Print TDLS command's and events
Add debug support of TDLS commands and events.

Change-Id: I8f69392c754eeeccdb07ac9ae8139982a52b8ba2
CRs-Fixed: 2393391
2019-02-07 04:57:52 -08:00
Nachiket Kukade
4816c5985f qcacld-3.0: Fix typo in INI definition in CFG framework
Change I3b1ee6254de158ad6408dc8c61e83be571e180af refactored 3
APF related INI's into CFG framework. This was merged with a
a copying error causing INI string "gActiveMcBcBpfMode" being
replaced by "gActiveUcBpfMode". Fix this by correcting the
string name.

Fix copying error by replacing with the correct INI string.

Change-Id: I41576b1b22287f7c0fd751ce96ceddb8f7cbc62a
CRs-Fixed: 2393504
2019-02-06 17:12:31 -08:00
gaurank kathpalia
ba22ef2abf qcacld-3.0: Refactor ini 11d in world mode to reg cfg
Refactor ini 11d in world mode to reg cfg, instead of
hdd config.

Change-Id: I9463d6efe3c109aa07eb98378d38ef0b23ff3880
CRs-Fixed: 2393498
2019-02-06 14:39:05 -08:00
gaurank kathpalia
2b2f1b1432 qcacld-3.0: Replace scheduler post msg with scheduler post messsage
Currently many modules use the scheduler_post_msg API which
doesn't allow the driver to know about the src, and destination
modules.

Fix is to call scheduler_post_message which has src, dest, and
the que id.

Change-Id: Ia5c43fe3ceeb7db9dde6241cbabac0ce48f88061
2019-02-06 11:16:22 -08:00
Pragaspathi Thilagaraj
f37f393792 qcacld-3.0: Remove legacy scan and ap protection related ini items
Remove the following scan and ap protection related ini items:
CFG_AP_ENABLE_PROTECTION_MODE_NAME
CFG_ENABLE_MAC_ADDR_SPOOFING
CFG_SCAN_AGING_PARAM_NAME

Replace the corresponding hdd_config variables and replace
these variable callers with ucfg api from corresponding module.

Change-Id: I99a2659e2151ad285e9451b9e9cc036a199581a3
CRs-Fixed: 2378991
2019-02-05 18:01:10 -08:00
Bala Venkatesh
2a773828bc qcacld-3.0: Fix tdls idle peers data override
As part of connection tracker handler, If the link is connected
then current tx and rx stats are compared with configured threshold
values. If the current stats fall below the threshold then idle timer
is initialized and idle peer data is stored in tdls soc and given as
userdata to the timer handler. The userdata is overwritten if the another
tdls peer becomes idle and this can lead to wrong tdls peer teardown.

Change-Id: I34638bdebe02e17e1c9e117e58352bdaab867921
CRs-Fixed: 2393320
2019-02-05 11:09:31 -08:00
Bala Venkatesh
fa9601a4f6 qcacld-3.0: Initialize the max tdls peers in tdls soc
Currently, in tdls soc max tdls peers are initialized
in tdls_global_init that is done as part of tdls psoc open.
But, sometimes the Ini values used to initialize the tdls
max peers are not initialized before global init
because tdls_update_config has done for the Ini vallues.
This can lead to wrong value of max tdls peers in tdls
soc and later can result in TDLS connection deny.

Change-Id: I6bb51db571129490c225737c1913b8ddafadde8d
CRs-Fixed: 2392494
2019-02-04 15:36:33 -08:00
Nachiket Kukade
2fb1fdb1ac qcacld-3.0: Combine all NAN related flags with WLAN_FEATURE_NAN
Flag WLAN_FEATURE_NAN_DATAPATH was added to protect NAN Datapath
related code, while WLAN_FEATURE_NAN_CONVERGENCE was added to
protect the converged code inside NAN Component. Since the
original NAN Discovery related code has now been moved inside
NAN component and NAN Datapath cannot exist without NAN Discovery,
keeping these flags separate doesn't make sense. Combine these
two flags with WLAN_FEATURE_NAN flag which is the original NAN
feature flag.

As a cleanup of NAN code, combine all NAN related flags with
WLAN_FEATURE_NAN flag.

Change-Id: If98ecaace17f8724e9c28325ef61e721f42e1d8f
CRs-Fixed: 2377375
2019-02-04 10:44:30 -08:00
Bala Venkatesh
9391de3b8d qcacld-3.0: Populate dual mac disable feature correctly
Currently, dual mac disable feature is populated from object mgr
psoc. But, this ini is moved to policy mgr. So, populate this ini
from policy mgr context.

Change-Id: I5d83ce0efa9130cc37734f3d7e982def4fe59ac2
CRs-Fixed:
2019-01-30 18:54:11 -08:00
Jianmin Zhu
2f9e7536a6 qcacld-3.0: Update 2g vht20 cfg by target capability
Only when F/W indicates 2g vht20 supported and ini config
gEnableVhtFor24GHzBand=1, 2g vht20 can be enabled.

Steps:
For chips wmi_service_ext_msg supported:

1. hdd_component_psoc_open->mlme_cfg_on_psoc_enable->
	mlme_init_vht_cap_cfg, read and save ini cfg:
	gEnableVhtFor24GHzBand.
2. WMI_SERVICE_READY_EXT_EVENT indicates 2g vht20 capability by
	mac_phy_caps->vht_cap_info_2G.
3. init_deinit_populate_mac_phy_capability calls
	extract_mac_phy_cap_service_ready_ext_tlv
	to extract vht_cap_info_2G, and set to
	psoc->tgt_if_handle->info.mac_phy_cap.
4. hdd_update_tgt_cfg->hdd_update_vhtcap_2g->
	wma_get_caps_for_phyidx_hwmode, get target capability,
	and combine ini cfg, update 2g vht20 cfg in mlme.

For chips wmi_service_ext_msg unsupported:

1. hdd_component_psoc_open->mlme_cfg_on_psoc_enable->
	mlme_init_vht_cap_cfg, read and save ini cfg:
	gEnableVhtFor24GHzBand.
2. WMI_SERVICE_READY_EVENT indicates 2g vht20 capability by
	hal_reg_capabilities-> wireless_modes
	REGDMN_MODE_11AC_VHT20_2G bit.
3. init_deinit_populate_phy_reg_cap calls wmi_extract_hal_reg_cap
	to extract hal_reg_capabilities, and set to
	regulatory component by ucfg_reg_set_hal_reg_cap, saved
	in wlan_regulatory_psoc_priv_obj->reg_cap.
4. hdd_update_tgt_cfg->hdd_update_vhtcap_2g, get and target
	capability and combine ini cfg, update 2g vht20 cfg in
	mlme.

Change-Id: Id4f2edd129bb1eefec3e39b4246c5f52b2b4124a
CRs-Fixed: 2384842
2019-01-30 02:32:01 -08:00
Wu Gao
0bdcbed515 qcacld-3.0: sta interface supports to tx p2p action frames
Required sta interface to support to tx p2p action frames, this is
part of customer requirement.

Change-Id: I1ebebce4d70dcba34427bb2276cd3e1cc23c2bd8
CRs-Fixed: 2388414
2019-01-29 14:31:45 -08:00
Abhishek Singh
d5cf22dffb qcacld-3.0: Change to include PDEV MLME component object
Changes to include PDEV MLME component object for VDEV SM.

Change-Id: I1f89e9bf5a4d5b17be7ec3c4fc52a5f8fe8f1862
CRs-Fixed: 2381858
2019-01-24 20:14:33 -08:00
Abhishek Singh
d1f21c7b0d qcacld-3.0: Refactor firmware, serialization and HDD CMD timeouts
Refactor firmware, serialization and command timeouts so that
HDD timeout are greater than serialization is greater than firmware
timeout.

The timeouts are defined considering below worst case delay in
firmware.
WMI_VDEV_START_REQUEST_CMDID	6 sec
WMI_VDEV_RESTART_REQUEST_CMDID	6 sec
WMI_VDEV_STOP_CMDID		2 sec
WMI_PEER_DELETE_CMDID		2 sec
WMI_PEER_ASSOC_CMDID		2 sec
WMI_PDEV_SET_HW_MODE_CMDID	2 sec
WMI_PDEV_SET_MAC_CONFIG_CMDID	2 sec

Change-Id: I270e980ed1cf2aee55a1fa4e88ff8ddc845a203b
CRs-Fixed: 2384389
2019-01-24 16:17:50 -08:00
Ashish Kumar Dhanotiya
aa9fdbb777 qcacld-3.0: Add support for new regulatory files
Regulatory component is getting updated to reduce the
code size based on different regulatory features. In this
process new regulatory files are getting added and some
of the files are getting removed.

To compile the newly added files update the required changes
in driver Kbuild file.

Some of the functins which are not supposed to be invoked from
outside the component directly, replace those function calls
with the appropriate wrapper functions.

Change-Id: I31a25268250b99f4f156c4f149966213746d999e
CRs-Fixed: 2373780
2019-01-23 15:14:09 -08:00
Liangwei Dong
77ff66cad4 qcacld-3.0: validate sbs HW mode set
PM_SBS/PM_SBS_DOWNGRADE action should not
be executed again if current hw mode is sbs.

Change-Id: I9bf2666c559dbf6a3ad73aec7ee94db7c50b82a7
CRs-Fixed: 2375652
2019-01-23 06:37:24 -08:00
Madhvapathi Sriram
3e6627a9f9 qcacld-3.0: Optimize schedule msg post error logging
Change-Id: Ieaddca5f141c99c42ed4a7c954dea2788e353640
CRs-Fixed: 2373015
2019-01-22 02:37:31 -08:00
Wu Gao
f3cbeaf9c6 qcacld-3.0: Refactor three WNI and one INI
Based on new cfg framework, refactor below WNI cfg:
 - WNI_CFG_VALID_CHANNEL_LIST
 - WNI_CFG_COUNTRY_CODE
 - WNI_CFG_REMOVE_TIME_SYNC_CMD
 - CFG_REMOVE_TIME_STAMP_SYNC_CMD_NAME

Change-Id: Ic612705ad6c36e055b50baf30ae3e76818f50eed
CRs-Fixed: 2381199
2019-01-19 11:14:15 -08:00
Jeff Johnson
62dbb183fc qcacld-3.0: Remove ucfg_pmo_vdev_update_dp_handle() stub
Change I1f668fff633a5e5cdfc478e7f619e9600930b333 ("qcacld-3.0: Use wma
callback to get vdev dp handle") removed the implementation of
pmo_ucfg_vdev_update_dp_handle(), but left behind the stub
implementation for use when PMO is disabled. This stub, since renamed
to ucfg_pmo_vdev_update_dp_handle(), is unused, so remove it.

Change-Id: I042ea081a4c2e5288963f7882129d06667e5b707
CRs-Fixed: 2380780
2019-01-18 16:36:23 -08:00
Wu Gao
ed616a1a50 qcacld-3.0: Refactor two INI about channel bonding
Based on new cfg framework, refactor below WNI/INI:
 - CFG_CHANNEL_BONDING_MODE_24GHZ_NAME
 - CFG_CHANNEL_BONDING_MODE_5GHZ_NAME

Change-Id: Ia18fd79738a8079c41df557934335e54c8016e43
CRs-Fixed: 2381831
2019-01-17 06:39:03 -08:00
Manikandan Mohan
66df7fcdf4 qcacld-3.0: Fix fw offload ucfg APIs for wiphy features
WIPHY features are populated before FW offload object is
initialized. Thus use direct config values for SAE and GCMP
WIPHY features.

Change-Id: Ic1b84c8709a0347fa22773786c0d5af32426e8fc
CRs-fixed: 2376983
2019-01-16 17:09:44 -08:00
Sravan Kumar Kairam
4757819765 qcacld-3.0: Delete second STA wlan ipa interface
Currently second STA wlan ipa interface is not deleted in case
of STA-STA concurrency for second sta disconnection. At the time
of driver recovery first virtual interface is deleted and later
existing ipa interfaces are deleted. This leads to invalid access
of second STA ipa interface net dev at the time of deletion during
driver recovery. Fix this by deleting the interface at the time of
sta disconnect event.

Change-Id: I21e46fe5c6f0b0213d139050acf229cb5ab914eb
CRs-Fixed: 2376897
2019-01-16 12:56:51 -08:00
Jianmin Zhu
c8bfffb89d qcacld-3.0: Set 2g vht20 cfg by both target capability and ini config
2g vht20 config should be decided by both capability indicated
by target and ini config. Only when F/W indicates 2g vht20
supported and ini config gEnableVhtFor24GHzBand=1, 2g vht20 is
enabled.

Change-Id: I5b7ad8f82b6000096327c501dc84ad05480ef0fd
CRs-Fixed: 2381514
2019-01-16 10:37:37 -08:00
Sravan Kumar Kairam
9cd68d0639 qcacld-3.0: Rate limit IPA callback API error logs
Excessive wlan ipa call back error logs when driver is in
transition stat which may leads to watchdog timeout. So rate
limit the logs.

Change-Id: I1398ea67abde53d3a5f0b5ab7c7ea1dd8553e4cc
CRs-Fixed: 2379522
2019-01-16 10:37:34 -08:00
Harprit Chhabada
d59ae7648e qcacld-3.0: Clean up adaptive dwell time params CFG
Clean following adapative dwell time params
CFG/INI item.
CFG_ADAPTIVE_DWELL_MODE_ENABLED
CFG_GLOBAL_ADAPTIVE_DWELL_MODE
CFG_ADAPT_DWELL_LPF_WEIGHT
CFG_ADAPT_DWELL_PASMON_INTVAL
CFG_ADAPT_DWELL_WIFI_THRESH

Change-Id: Iebc8507b0eefe52969f928d98473f99d69095480
CRs-Fixed: 2378488
2019-01-15 21:02:09 -08:00
Jeff Johnson
ee066a08a3 qcacld-3.0: Remove pmo_dump_wow_ptrn() prototype
Change I47cce6123566b67d4aa0c56f1cf6738f4fdbf77d ("qcacmn: Initial
power manager offload skeleton") included a prototype for function
pmo_dump_wow_ptrn(), but not an implementation. Since subsequently
an implementation was never added, remove the unused prototype.

Change-Id: I4fda06ef5cabdbff069e542319a9d5296a0e932a
CRs-Fixed: 2380102
2019-01-15 18:41:19 -08:00
Jeff Johnson
678ddc4b16 qcacld-3.0: Remove ignore_dynamic_dtim_in_p2p_mode
Change I9b0126d9cc71f7de0d255981ba5fe88f3da05ce2 ("qcacmn: Define
configures about P2P") introduced struct p2p_param. One of the fields,
ignore_dynamic_dtim_in_p2p_mode, has apparently never been used, so
remove it.

Change-Id: I1c7c34d72f22c89f243d2639ec2baccb76be7dc2
CRs-Fixed: 2379074
2019-01-15 18:41:15 -08:00
Jeff Johnson
da70bd1338 qcacld-3.0: Harmonize the mlme_ht_info_field_2 layouts
Struct mlme_ht_info_field_2 has two different layouts depending upon
endinaness, but for one of the fields the naming does not match.
Rename the nonGFDevicesPresent field to be consistent with its
counterpart non_gf_devices_present.

Change-Id: Iafec9976d5f890ae6555af35c40186afacb5c325
CRs-Fixed: 2379073
2019-01-15 18:41:11 -08:00
Jeff Johnson
2449b32e09 qcacld-3.0: Remove sta_sap_scc_on_dfs_chan_allowed
Change Id1333a49d0538eb4ccfaf3c8498e9ca06671de02 ("qcacmn: Allow SAP
to come up on DFS channel in SCC mode") added two separate fields to
track the status of this feature. The sta_sap_scc_on_dfs_chan_allowed
field in struct policy_mgr_psoc_priv_obj was never used, so remove it.

Change-Id: I75fe9129d4df9a70af103d4b75389d75528ad422
CRs-Fixed: 2379072
2019-01-15 18:41:06 -08:00
Jeff Johnson
9a866ec4cf qcacld-3.0: Remove enable_sap_mandatory_chan_list
As part of change I83a13b1fcc6ca4350071a71648c7072c2b2a5191
("qcacld-3.0: Move few INIs's ownership from HDD to Policy manager")
support for the gEnableSAPManadatoryChanList INI item was moved to
Policy Manager, and the sap_mandatory_chnl_enable field in struct
policy_mgr_cfg now reflects the status of this INI item. The prior
mechanism, the enable_sap_mandatory_chan_list field in struct
policy_mgr_psoc_priv_obj, is no longer used, so remove it.

Change-Id: I1675257f2a4aac3ae34e934173415f9a4064618b
CRs-Fixed: 2379071
2019-01-15 18:41:02 -08:00
Jeff Johnson
844da097fc qcacld-3.0: Remove nlo fields from struct pmo_vdev_priv_obj
Fields nlo_in_progress and nlo_match_received in struct
pmo_vdev_priv_obj are unused, so remove them.

Change-Id: I4152e55e407628bbcc32118aa702770a401cfe3b
CRs-Fixed: 2379076
2019-01-14 12:58:47 -08:00
Jeff Johnson
18dd808afa qcacld-3.0: Harmonize PMO packet filter APIs
Update the PMO packet filter APIs to make sure the parameter names
in the prototypes match the ones in the implementations and in the
documentation.

Change-Id: I7fd924d17edb54c690e8ef5b85d4829a4a165edc
CRs-Fixed: 2379075
2019-01-14 08:38:06 -08:00
hangtian
127c953c7f qcacld-3.0: Use qdf_mem_zero for zero initialization
Use qdf_mem_zero for zero initialization.

Change-Id: Ic2b8d907623cf67a4569aaf01398c1b3a2bff707
CRs-Fixed: 2376644
2019-01-14 08:38:03 -08:00
Wu Gao
2255ea2817 qcacld-3.0: Defines five WNI cfg and one INI cfg
Based on new cfg framework, defines below five WNI cfg items and one
INI cfg:
 - WNI_CFG_APSD_ENABLED
 - WNI_CFG_OBSS_DETECTION_OFFLOAD
 - WNI_CFG_OBSS_COLOR_COLLISION_OFFLOAD
 - WNI_CFG_CURRENT_TX_POWER_LEVEL
 - WNI_CFG_LOCAL_POWER_CONSTRAINT
 - gTxPowerCap

Change-Id: I5546ea7a4efd142b546ad10a40712d40d2d3ea0d
CRs-Fixed: 2375857
2019-01-14 01:45:23 -08:00
Wu Gao
0821b0dd4c qcacld-3.0: Change WNI_VALID_CHANNEL_LIST_LEN to VALID_CHANNEL_LIST_LEN
All WNI configurations will be cleanup based on new cfg framework, so
change Change WNI_VALID_CHANNEL_LIST_LEN to VALID_CHANNEL_LIST_LEN.

Change-Id: I805be88ecdcca90cf3a19d1784bf8f8c261b6ca4
CRs-Fixed: 2379748
2019-01-13 18:45:55 -08:00
Wu Gao
9d117fbfc2 qcacld-3.0: Refactor three INI in PMO
Based on cfg framework, refactor below INI:
 - CFG_RA_RATE_LIMIT_INTERVAL_NAME
 - CFG_ACTIVE_UC_APF_MODE_NAME
 - CFG_ACTIVE_MC_BC_APF_MODE_NAME

Change-Id: I3b1ee6254de158ad6408dc8c61e83be571e180af
CRs-Fixed: 2379743
2019-01-13 18:45:51 -08:00
Wu Gao
6294afcfa7 qcacld-3.0: Refactor six LFR INI cfg
Based on new cfg component, refactor below LFR INI cfg and remove
unused legacy codes.
 - CFG_ENABLE_LFR_SUBNET_DETECTION
 - CFG_ROAM_HO_DELAY_FOR_RX_NAME
 - CFG_MIN_DELAY_BTW_ROAM_SCAN_NAME
 - CFG_ROAM_SCAN_TRIGGER_REASON_BITMASK_NAME
 - CFG_ROAM_FT_OPEN_ENABLE_NAME
 - CFG_ROAM_FORCE_RSSI_TRIGGER_NAME

Change-Id: Iaa738c6416dffe8159b49d59fc9a514da2fbb7ff
CRs-Fixed: 2376637
2019-01-11 22:25:19 -08:00
Liangwei Dong
c79ddc1bff qcacld-3.0: remove unused get config API
Remove below unused policy mgr get config api:
ucfg_policy_mgr_get_dbs_selection_plcy
ucfg_policy_mgr_get_max_conc_cxns
ucfg_policy_mgr_get_vdev_priority_list

Change-Id: Idd5ad140f3739ece1d7c0fe5ae1db1dbe9154c4f
CRs-Fixed: 2373646
2019-01-11 15:58:05 -08:00
Dustin Brown
26ef417482 qcacld-3.0: Fix race in DSC threaded unit test
Very occasionally, the driver transition thread for the DSC race
condition unit test can be preempted before queuing the driver
transition. This leads to the transitions de-queuing in an unexpected
order, causing the test to fail. In order to close the race window, a
thread would have to set its event _after_ blocking on a pending
transition, which is impossible. So, rather than using events to
synchronize the different threads in this test case, use polling to
ensure the different transitions are queued in the appropriate order.
If the given condition is not met, call schedule() to give the other
threads a greater chance to run.

Change-Id: I05edfa9200ca7831926153f3ff0ec9dbbbab3fed
CRs-Fixed: 2378469
2019-01-10 19:42:10 -08:00
Wu Gao
a796d7153a qcacld-3.0: Refactor one WNI cfg and two INI cfg about PMO
Based on new cfg framework, refactor below WNI and INI cfg items:
 - WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT
 - g_wow_data_inactivity_timeout
 - gDisablePacketFilter

Change-Id: I9a975263021ba4fd5ccea19ed1147a661f73317f
CRs-Fixed: 2375866
2019-01-10 19:42:02 -08:00
Yue Ma
a66ccb8e2a qcacld-3.0: Do not directly call QDF_BUG in PMO
Use qdf_trigger_self_recovery instead of QDF_BUG for runtime PM
resume failure case as qdf_trigger_self_recovery can handle more
scenarios gracefully.

Change-Id: Iff0348fafb1be82f46400099e3cd551c079eea74
CRs-fixed: 2377677
2019-01-09 06:11:32 -08:00
Nachiket Kukade
0a1aea6d44 qcacld-3.0: Forward NDP Indication event for NDP initiator
Driver only forwards NDP Indication event to upper layers
after it receives the event WMI_NDP_INDICATION_EVENTID as
an NDP Responder. But while as an NDP Initiator, if the
NDP Peer sends App info through NDP Response instead of
NDP Confirm, driver receives the same event. But it does
not forward it to upper layers. As a result App info is
dropped and upper layers miss out on it.

Forward NDP Indication event to upper layers through vendor
event subtype QCA_WLAN_VENDOR_ATTR_NDP_REQUEST_IND regardless
of the NDP role of the device.

Change-Id: I63349b92426b6090e024957e70fd7f9ef97cf314
CRs-Fixed: 2375741
2019-01-09 01:28:18 -08:00
Kiran Kumar Lokere
7d6e4c9dc1 qcacld-3.0: crypto convergence support for SET KEY
Make changes to the legacy code to support the
new SET KEY converged infrastructure.

Change-Id: Ic5359e3a9035ac5f2a937a9a1013fa92764cda9d
CRs-Fixed: 2358795
2019-01-08 20:24:43 -08:00
Harprit Chhabada
efea6f517c qcacld-3.0: Clean up a policy manager CFG item
Clean WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED CFG item of policy
manager.

Change-Id: Ib73ea3385bedf3a8d35e60f3672950e27b8ed93d
CRs-Fixed: 2373863
2019-01-08 11:42:54 -08:00
hangtian
a7938f8849 qcacld-3.0: Fix implicit tdls connection issue
Fix implicit tdls connection issue. Correct usage of qdf_mem_set.
DUT could receive multicast frames after tdls connection tear down,
add check condition of frames with multicast dest address in
tdls_update_rx_pkt_cnt.

Change-Id: Ia1d7bbf2c129e9aebc98f7fcdea263b745c221ec
CRs-Fixed: 2375043
2019-01-08 07:28:10 -08:00
Manikandan Mohan
5dba1c70c3 qcacld-3.0: Use default value of ini items if not initialized
If FW offload cfg object is not initialized before invoking
the ucfg APIs use the cfg defaults for the values.

Change-Id: Ibbfe22a833ab217f670058e504ec80971c98e049
CRs-fixed: 2376983
2019-01-08 05:17:08 -08:00
Rajeev Kumar Sirasanagandla
14fa966039 qcacld-3.0: Enable WLM feature by default
Set wlm_latency_enable=1 to enable vdev latency manager feature
by default.

Change-Id: Iee5a4f386bad649be86a299c6816c7802c73992c
CRs-Fixed: 2369989
2019-01-08 02:34:23 -08:00
Wu Gao
6768d76a7b qcacld-3.0: Remove unused tdls structures in pe
It alloc memory with structures in sir_api.h, and process/parse them
with structures in tdls component, which will cause memory corruption
potentially. So, this change refacor these functions and let them use
unified structures. Remove unused structures in sir_api.h
Here are these functions:
- lim_send_sme_tdls_add_sta_rsp
- lim_send_tdls_comp_mgmt_rsp
- lim_send_sme_tdls_del_sta_rsp
- lim_send_sme_mgmt_tx_completion

Remove below unused tdls structures:
- tSirTdlsDelAllPeerInd
- tSirTdlsDelStaInd
- tSirTdlsEventnotify
- tSirTdlsLinkEstablishReq
- tSirTdlsLinkEstablishReqRsp
- tSirTdlsAddStaRsp
- tSirTdlsDelStaRsp
- tSirMgmtTxCompletionInd

Change-Id: Ic595cadefcdbeb2df44f97563c4652db409213a2
CRs-Fixed: 2373706
2019-01-07 17:28:16 -08:00
Jeff Johnson
af32606065 qcacld-3.0: Remove op_class_for_pref_off_chan_is_set
The field op_class_for_pref_off_chan_is_set in struct
tdls_peer_mlme_info is unused, so remove it.

Change-Id: I5c2ed954215677a25245e108a35c33fc7c33c247
CRs-Fixed: 2375420
2019-01-07 08:47:09 -08:00
Jeff Johnson
dfabe9e6a7 qcacld-3.0: Remove ap_rssi from struct tdls_vdev_priv_obj
The ap_rssi field in struct tdls_vdev_priv_obj is unused,
so remove it.

Change-Id: I5c8c7583da2833071feb5a33243cbecbf0ed4f28
CRs-Fixed: 2375419
2019-01-07 08:47:03 -08:00
Jeff Johnson
33c542ff92 qcacld-3.0: Remove enum pmo_offload_type
Enum pmo_offload_type is unused, so remove it.

Change-Id: Ibe1c488fbf72d577eac0424151adf5bd593be3c6
CRs-Fixed: 2375418
2019-01-07 08:46:58 -08:00
Jeff Johnson
cbcc2c5b6a qcacld-3.0: Remove bmiss_enable from struct pmo_psoc_cfg
The bmiss_enable field in struct pmo_psoc_cfg is unused, so remove it.

Change-Id: I456c420faea23616aa0b273a57fd661fd8c4eaf5
CRs-Fixed: 2375417
2019-01-07 08:46:52 -08:00
gaurank kathpalia
1be77fa6a9 qcacld-3.0: Add Dot11 mode related CFG items in mlme cfg
Add dot11mode related cfg items in mlme cfg, and replace
old WNI dot11 modes with new MLME DOT11 mode enums

Change-Id: I6e866959f440ae781432c8aaa724b229c0874856
CRs-Fixed: 2362540
2019-01-07 00:07:19 -08:00
Sravan Kumar Kairam
f48210cb66 qcacld-3.0: Add cdp api for dp tx desc availability
Add cdp api to check if tx desc pool available descriptor
threshold has reached.

Change-Id: I12cc38b56a68ca7ee8f4560677fcdabccb38928b
CRs-Fixed: 2369244
2019-01-07 00:07:14 -08:00
Sravan Kumar Kairam
7887022782 qcacld-3.0: Modify is fw activated pipes api for lithium dp
In case of lithium dp there is no FW interaction in RX packet
processing and is HW REO ring based. So modify the ipa component
is fw activated api to return true if the ipa system pipes are
enabled.

Change-Id: I8cde4b0f696b75097e6b50f8b0c71c2b6fff6d6d
CRs-Fixed: 2374083
2019-01-02 14:14:52 -08:00
Arif Hussain
0b634b48ed qcacld-3.0: Restore gDisableDfsJapanW53 ini support
Restore gDisableDfsJapanW53 ini support.

Change-Id: I085e62e7cd8b1fdfe931997d35915f55d079f11d
CRs-Fixed: 2371006
2019-01-01 17:06:03 -08:00
Abhinav Kumar
c1059384a6 qcacld-3.0: Address checkpatch errors added as part of VHT & WMM CFG items
Address checkpatch errors added as part of VHT & WMM CFG items.

Change-Id: I2c3d5466264781cee8197778806a349cfbf06957
CRs-Fixed: 2359406
2018-12-28 12:26:44 -08:00
Ashish Kumar Dhanotiya
efae55b005 qcacld-3.0: 11d and 11h inis are not getting updated
As part of ini convergence, enabled_11d and enabled_11h inis are
moved to converged framework but these inis are not removed from
legacy initialization path which is overwritting these values
to constant values and thus these inis are not taking effect.
Morever in the converged code also these inis are getting
initialized with default values instead of the values given
from ini file.

To address this issue, remove the legacy initialization of these
inis and in the converged ini path initialize these values with
the values configured in the ini files.

Change-id: I3d02c0d543fd561f1fd948b5c2850a509b1104e7
CRs-fixed: 2371528
2018-12-28 12:26:39 -08:00
Manikandan Mohan
2bd0977920 qcacld-3.0: Move IBSS INI params to converged CFG component
Update qcacld driver to move IBSS INI params to converged CFG
component and cleanup HDD ini entriesi

Change-Id: Id8e4c0505113e556a8d64915a648f17fc5c0daf5
CRs-fixed: 2358493
2018-12-28 02:23:00 -08:00
Manikandan Mohan
d350c194b4 qcacld-3.0: Move offload ini params to converged CFG
Move misc offload ini params to converged CFG component and
cleanup HDD ini config.

Change-Id: I14b3d95dc1577d02230168d305d1d1c4c7fef2fd
CRs-fixed: 2358489
2018-12-28 02:22:55 -08:00
Liangwei Dong
b007863932 qcacld-3.0: Handle FW not support SBS
If FW doesn't support SBS, return QDF_STATUS_E_NOSUPPORT
to allow connect request in current HW mode.

Change-Id: Ie960fe993ea95cf40dd43fb56c71edd94efda63b
CRs-Fixed: 2370206
2018-12-27 03:21:07 -08:00
Wu Gao
b901f0e704 qcacld-3.0: Use enum wmi_tdls_state as type of tdls state
Define tdls state as enum wmi_tdls_state, and pass it to
wmi_unified_update_fw_tdls_state_cmd.

Change-Id: I77defc28f78bf3152241f6fb75a7235e06c39c14
CRs-Fixed: 2372455
2018-12-27 01:05:11 -08:00
Manikandan Mohan
06d38d8c48 qcacld-3.0: Add 11K offload param to converged CFG component
Update driver to move 11K offload params to converged CFG component
and remove redundant entries from HDD config.

Change-Id: I7703ca5b23d5fa95a3b5dc5ccd9690771a4bf43d
CRs-fixed: 2357708
2018-12-27 01:05:06 -08:00
Pragaspathi Thilagaraj
df0f544dab qcacld-3.0: Add new "roam_score_delta" and "roam_score_delta_bitmap" ini
Add two new WCNSS_qcom.ini values:
"roam_score_delta" - Factor by which the new roaming candidate
ap score should be greater than the score of the current
connected AP.
"roam_score_deltabitmap" - Roam triggers for which
roam_score_delta needs to be applied on the roam score of the
candidate AP.

Populate these two values to wlan_mlme_scoring_cfg from cfg
component in mlme_init_scoring_cfg. The values are sent to
firmware over the WMI TLV WMI_ROAM_AP_PROFILE in the below code
flow:
csr_update_score_params()->__lim_process_roam_scan_offload_req()
->wma_process_roaming_config()->wma_roam_scan_offload_ap_profile

Change-Id: I64f2a2328e485418547dae937c657f85225f1457
CRs-Fixed: 2367910
2018-12-26 10:12:18 -08:00
Pragaspathi Thilagaraj
ae7dc766b3 qcacld-3.0: BTM changes to add new WCNSS_qcom.ini to configure btm params
Add the following new WCNSS_qcom.ini value:
"prefer_roam_score_for_candidate_selection" - choose to sort the
candidates on roam score or preferred AP list send in the BTM
request frame by AP.
When this ini is set, host driver will
modify btm_offload_config bit 7 which will be read by firmware
to get this ini value.

“roam_candidate_validity_timer” - roam cache entries validity
timer. The candidates in the roam cache are valid only for this
time value. This value is sent to firmware over the wmi command
on the structure wmi_roam_offload_tlv_param

"btm_disassoc_timer_threshold" - Disassociation timer threshold
to wait after which the full scan for roaming can be started
after the AP has sent the disassoc imminent

Change-Id: I3ba5ba2182b1b6d722d9c315757332a1b3e62521
CRs-Fixed: 2369018
2018-12-26 10:12:14 -08:00
Pragaspathi Thilagaraj
7d0a3cf99f qcacld-3.0: Send BTM query over 11k neighbor report
Add new WCNSS_qcom.ini value:
"prefer_btm_query" - Set this flag to enable the firmware to
send btm query for neighbor list. If this flag is not set,
the firmware will fallback to current mechanism of sending
11k neighbor report request instead of btm query.

When this prefer_btm_query is set, host driver will modify
btm_offload_config bit 8 which will be read by firmware to
get this ini value.

Change-Id: Id424c0da7207b0185cee67172782ef5c1d9fd131
CRs-Fixed: 2369000
2018-12-26 10:12:10 -08:00
Pragaspathi Thilagaraj
39d616074e qcacld-3.0: Add new WCNSS_qcom.ini "bss_load_bss_sample_time"
Add new ini item "bss_load_sample_time" to send the monitor
time window for which the beacons are to be sampled to collect
the bss load information.
Also add changes to send bss load trigger parameters only during
RSO start during initial connection

Change-Id: I61d1f3745b56199838fc886f1ed3a05786653501
CRs-Fixed: 2372147
2018-12-26 10:12:06 -08:00
Pragaspathi Thilagaraj
69f0b69ca9 qcacld-3.0: Send bss load trigger values to firmware
Introduce the following new WCNSS_qcom.ini values:
"enable_bss_load_roam_trigger"
"bss_load_threshold"
Send these values over the new wmi command,
WMI_ROAM_BSS_LOAD_CONFIG_CMDID if "enable_bss_load_roam_trigger"
is set to true.

This wmi command will be sent to firmware as part of the RSO
start or update config.

Change-Id: Ib2e21904bc7b8d87e5f51824d2694b90a3ac53f2
CRs-Fixed: 2367770
2018-12-26 07:47:25 -08:00
Nachiket Kukade
c1bba2f146 qcacld-3.0: Set 5GHz channel for NDI start and remove the INI
NDI Create from upper layers also does a start bss with the
channel specified with INI "gnan_datapath_ndi_channel". It
defaults to channel 6 if no value is specified. For targets
with 2x2 DBS MAC Configuration this cannot happen without
a DBS mode change. Since this channel is not indicative of
the actual NDI channel, send a 5GHz NAN Social channel for
the BSS start to avoid the DBS mode change.

Send 5GHz NAN Social channel for NDI bss start and remove
the corresponding INI.

Change-Id: I40428f5eb4071f7c1d3934c6279316aad8082c03
CRs-Fixed: 2364619
2018-12-26 01:21:13 -08:00
Nachiket Kukade
13bbe41414 qcacld-3.0: Don't configure RA filtering when APF is supported
RA filter is getting configured while APF is supported.
Since APF implementation internally handles RA filtering,
this is not needed. Therefore if APF is enabled in INI
and target supports it, do not configure RA filtering.

Don't configure RA filtering when APF is supported.

Change-Id: Iabb75b46fce64b2c4a7a303848d7cb6b4714253b
CRs-Fixed: 2352248
2018-12-24 10:06:35 -08:00
Nachiket Kukade
089b98361e qcacld-3.0: Handle concurrencies with NAN Discovery
Use policy manager to set and update the NAN Discovery
related connection info. Disable NAN Discovery
explicitly for unsupported concurrencies.

Handle concurrencies with NAN Discovery interface.

Change-Id: I8c9450b034983ef0402fdc878d8b525bedac9f0b
CRs-Fixed: 2358180
2018-12-22 02:54:03 -08:00
Nachiket Kukade
cf94160805 qcacld-3.0: Add policy mgr changes to manage NAN Discovery
Add NAN Discovery specific modes, modules that manage NAN
Discovery interface. Add cases and exceptions that manage
concurrent operations alongside NAN Discovery.

Add policy manager changes to manage NAN Discovery.

Change-Id: Ib9a10be265c14adf8d1d5f2f2e2b65aa399d6636
CRs-Fixed: 2358183
2018-12-21 12:34:38 -08:00
Arif Hussain
cca6043ce0 qcacld-3.0: Refactor stats cfg items
Refactor following stats cfg items
CFG_PERIODIC_STATS_DISPLAY_TIME
CFG_LINK_SPEED_RSSI_MID
CFG_REPORT_MAX_LINK_SPEED
CFG_LINK_SPEED_RSSI_LOW
CFG_LINK_SPEED_RSSI_HIGH

Change-Id: I1b699d5fe5b3182c292cf10c85f842169bf14342
CRs-Fixed: 2362068
2018-12-21 10:05:09 -08:00
Paul Zhang
d5c1f25d6b qcacld-3.0: resolve race issue accessing pm_conc_connection_list
While function policy_mgr_set_pcl_for_existing_combo posts event
SIR_HAL_PDEV_SET_PCL_TO_FW and before restores pm_conc_connection_list,
the function policy_mgr_get_valid_chan_weights is invoking and
accessing pm_conc_connection_list then race happens.

To resolve the issue, restore the pm_conc_connection_list before
calling SME function.

CRs-Fixed: 2362839
Change-Id: I8b30dc5084c4aae4bcc4b3b350d19c8be89338a9
2018-12-21 02:40:41 -08:00
Bala Venkatesh
c8bbb0058d qcacld-3.0: Enable TDLS in FW in standalone STA and P2P client
TDLS is not supported in concurrency. As part of second interface
creation, TDLS is disabled in both host and FW. But after the second
interface is deleted, TDLS is not enabled in FW and host even for
Standalone STA and P2P client cases.

Change-Id: I362c22a79e171f9779393b1b893b5bfd14ff562a
CRs-Fixed: 2367083
2018-12-19 16:30:43 -08:00
Sravan Kumar Kairam
361f410f34 qcacld-3.0: Modify enable/disable IPA pipe for lithium dp
In case of lithium dp there is no FW interaction in RX packet
processing and is HW REO ring based. So in case of handle
first client connection and last client disconnection host
should not send HTT FW requests for pipe resume/enable at FW.
So modify the enable and disable ipa pipes host functions for
lithium dp.

Change-Id: I72661050fe1f85c13aca0c78b5c0369884ec2999
CRs-Fixed: 2369252
2018-12-19 09:32:17 -08:00
Krunal Soni
e64b17e7f0 qcacld-3.0: Driver fails to report gDualMacFeatureDisable val to FW
If DBS is disabled from INI then driver just bails out
in wlan_hdd_update_dbs_scan_and_fw_mode_config() API and never report
it to FW. This creates a confusion when DBS is disable INI but our HW
is capable of doing DBS, i.e. driver thinks that DBS disabled
but FW thinks that DBS is enabled.

Provide a fix that driver should report exact INI setting to FW.
This issue got introduced as part of regression caused by:
Iec2ef7e77e91f332028904c319d24e1ed134306d

ROME platform doesn't support any DBS related commands in FW,
so if driver sends wmi command with dual_mac_config with all params
set to 0 then FW wouldn't respond back and driver would timeout on
waiting for response. This was the original issue for which
Iec2ef7e77e91f332028904c319d24e1ed134306d was added.

Make sure current solution doesn't break backward compatibility.
Add a check to make sure FW supports DBS to eliminate
ROME vs NON-ROME platform.

CRs-Fixed: 2361628
Change-Id: I8a3b795b20e82391ae5d5c86d1e7d814d103ce64
2018-12-19 04:56:55 -08:00
lifeng
0b46ae503e qcacld-3.0: Refine mlme reg configurations
Refine mlme reg configurations based on converged cfg component.
Remove related legacy codes.

Change-Id: I524b29d2d03e60111fa1759d11e32236bb3aa3fa
CRs-Fixed: 2357961
2018-12-19 04:56:44 -08:00
Wu Gao
b056db61ad qcacld-3.0: Conditional reading of 5G preferred parameters
Read 5G preferred parameters if only enable_5g_band_pref enabled.
Delete unused variables.

Change-Id: I5e3a8435034dbc7682b9da4327dd6067d2033951
CRs-Fixed: 2367136
2018-12-19 02:04:27 -08:00
Sourav Mohapatra
c55bdf3e26 qcacld-3.0: Add ini based control for Beacon Reception stats
Currently, the support for beacon reception stats is only dependent on
the FW.

Add an ini so that the user can also have a control over the stats

Change-Id: I4a1e654b9d1598836378def494b37a997904d77a
CRs-Fixed: 2366473
2018-12-19 02:04:22 -08:00
Nachiket Kukade
6003bd2adf qcacld-3.0: Route the legacy NAN commands through NAN component
NAN component has been moved to CLD. It includes implementation
of the new NAN command QCA_NL80211_VENDOR_SUBCMD_NAN_EXT.
Change the legacy NAN implementation of vendor cmd
QCA_NL80211_VENDOR_SUBCMD_NAN so that the requests go
through the NAN component. Clean up the legacy path.
Functionality remains unchanged for legacy command.

Route the legacy NAN commands through the NAN component.

Change-Id: I542e5afe832619f8c088220cc4456aa7fe4416fd
CRs-Fixed: 2356772
2018-12-18 14:29:19 -08:00
Nachiket Kukade
4f89e9e161 qcacld-3.0: Add support for handling the NAN events
As part of supporting NAN DBS, new WMI TLVs are defined so
that Host can maintain the status of NAN Discovery in sync
with the Firmware. Add modules that process these events and
updates the NAN states.

Add support for handling the NAN events.

Change-Id: Icfcd9c33cc410d9a65140f63cac69ddd69742306
CRs-Fixed: 2355383
2018-12-18 14:29:15 -08:00
Nachiket Kukade
d5a7683c8a qcacld-3.0: Add support for the NAN Enable/Disable commands
Add changes in the NAN component and Target IF to support the
NAN Enable and Disable commands. Add changes to support all
the other generic NAN commands as well. Add a state machine
to keep track of the status of the NAN Discovery in the Target.

Add support for the NAN Enable/Disable commands

Change-Id: I20c303cad8b7a30deba50345032b33b1deba4802
CRs-Fixed: 2338054
2018-12-18 14:29:10 -08:00
Nachiket Kukade
85aa3788b6 qcacld-3.0: Store the NAN target caps inside its private obj
Host will receive the NAN related service capabilities from
the SERVICE_AVAILABLE event. In the HDD callback that gets
called afterwards, set the NAN related capabilities into
the NAN's private PSOC object.

Store the NAN target capabilities inside its private object.

Change-Id: If398b6f253613fc424b7821cfc62b0984ad34b6c
CRs-Fixed: 2356709
2018-12-18 14:29:06 -08:00
Nachiket Kukade
a6a70a98f1 qcacld-3.0: Add support for the new NAN EXT vendor command
As part of the NAN Discovery DBS support, a new vendor command
- QCA_NL80211_VENDOR_SUBCMD_NAN_EXT - has been defined that can
carry the binary blob encapsulated within an attribute and can
carry additional attributes to enhance the NAN command interface.
Add related data structures in NAN component and add modules in
OSIF to parse and sanitize this new command data and forward
the NAN message to the NAN component.

Add support for the new NAN EXT vendor command.

Change-Id: I0e6bb833b01a8cbd65e4d42700b5b70599f3ef99
CRs-Fixed: 2339029
2018-12-18 14:29:02 -08:00
lifeng
db340e7fcd qcacld-3.0: Refine mlme mwc configurations
Refine mlme mwc configurations based on converged cfg component.
Remove related legacy codes.

Change-Id: I2b66ec6c262bdd98f500678d713ed03eb187f1bd
CRs-Fixed: 2352679
2018-12-17 12:14:15 +08:00
Pragaspathi Thilagaraj
2b9259f963 qcacld-3.0: Refactor WNI_CFG_WPS_UUID cfg to mlme component
WNI_CFG_WPS_UUID should be refactored and adopted by the mlme
component.

Move the cfg item to cfg_mlme_wps_params.h

Change-Id: I79db155ad16998e9d7a7e20c01efbcba1681d61e
CRs-Fixed: 2366599
2018-12-15 19:25:13 -08:00
Pragaspathi Thilagaraj
784c492c07 qcacld-3.0: Remove legacy powersave ini and refactor to mlme component
Add the functionality changes to replace the legacy powersave
parameters corresponding to the ini values that were converged.

Remove the legacy powersave ini items.

Change-Id: I1da9af9aac4a02a16dc22a43f7f9d526e196d599
CRs-Fixed: 2364964
2018-12-14 22:49:22 -08:00
Pragaspathi Thilagaraj
43455535fc qcacld-3.0: Converge Powersave related ini items to MLME
Add basic infra to move the following Powersave related
ini to MLME component:
CFG_ENABLE_IMPS               CFG_ENABLE_PS
CFG_AUTO_PS_ENABLE_TIMER      CFG_ICMP_DISABLE_PS
CFG_BMPS_MINIMUM_LI           CFG_BMPS_MAXIMUM_LI
CFG_DTIM_SELECTION_DIVERSITY

This change brings in mlme_init changes, mlme_public_struct.h changes
and cfg_mlme file changes for power save parameters.
Also remove the ini CFG_ICMP_DISABLE_PS_NAME as it is not used.

Change-Id: Ifd74d276b12acc8cd9740c25ee3ca261ed7d0143
CRs-Fixed: 2356897
2018-12-14 22:49:18 -08:00
Sourav Mohapatra
c457ae6f18 qcacld-3.0: Feature flag for Wlan Latency Manager support
WLAN Latency Manager support is one of the capabilities that is sent
along with the service bits by firmware. Currently, driver is not
exposing this feature to the user space.

Create and add support for a feature flag to expose this feature to the
userspace.

Change-Id: Ica8213bdaeb32c7be01b6a71a7d8b7a32dc8611b
CRs-Fixed: 2363704
2018-12-14 07:15:10 -08:00
lifeng
faa83cb69c qcacld-3.0: Refine gFwDebugModuleLoglevel configurations
Refine gFwDebugModuleLoglevel configurations based on converged cfg
component. Remove related legacy codes.

Change-Id: I5a1099872163bdcf0fc2e08478c4b608529db736
CRs-Fixed: 2355599
2018-12-14 07:15:06 -08:00
Rajeev Kumar Sirasanagandla
d7987f16ef qcacld-3.0: Add ini to disable some aggressive TX features
Add action_oui ini gActionOUIDisableAggressiveTX to identify peers for
which some of aggressive TX features are to be disabled in firmware,
when DUT is operating in softap mode.

Aggressive TX features disabled are SIFS bursting, assist and support of
more than 32 frames in AMPDU.

Change-Id: I89fb6d40be5110b0331e84ed3239cd997ce0c899
CRs-Fixed: 2364888
2018-12-13 23:21:25 -08:00
Manikandan Mohan
9045e2e664 qcacld-3.0: Update for converged thermal throttle params
Update qcacld driver to use converged CFG component for thermal
mitigation throttle offload feature config params. Also cleanup
hdd ini config based redundant entries.

Change-Id: I9c94d1cd7bf9f630ed92ebe0f9f6d6233a216ee5
CRs-fixed: 2358492
2018-12-13 23:21:21 -08:00
Dustin Brown
77a042b426 qcacld-3.0: Use talloc, instead of malloc, in DSC
The lifetimes of DSC contexts do not fit nicely into the current domain
based dynamic memory leak detection scheme. Instead, allocate psoc and
vdev DSC contexts using the new qdf_talloc() API.

Change-Id: Ib15bd26004c3383e25039f4d17026d3e73f52346
CRs-Fixed: 2360348
2018-12-13 16:45:43 -08:00
Wu Gao
5f79340ca9 qcacld-3.0: Enable TDLS component in CLD
TDLS component related files moved from hostcmn to CLD, this change
adds initial functions, enables TDLS in Kbuild.

Change-Id: Ie5b93f4785c4a973a139dff9e58460fd7ee35e35
CRs-Fixed: 2361589
2018-12-13 02:37:52 -08:00
Pragaspathi Thilagaraj
9f79074a67 qcacld-3.0: Remove error message after mlme_obj NULL check
The function mlme_get_psoc_obj() is used to get the mlme_obj and
error handling is taken care inside the function if mlme_obj is
null.
Remove the error message in callers of mlme_get_psoc_obj.

Change-Id: Ie7cda790758ad21b1a0275d313a97f322a2f6fd7
CRs-Fixed: 2365042
2018-12-12 01:45:30 -08:00
Wu Gao
d6b5e40780 qcacld-3.0: Enable policy mgr component in CLD
Policy mgr component related files moved from hostcmn to CLD, this
change add its initializion functions to CLD framework, change Kbuild
to enable it.

Change-Id: I0a87d93b9cf639aa66a10f9ae55ef8cb1dfbb80e
CRs-Fixed: 2361570
2018-12-11 17:25:59 -08:00
Wu Gao
637d58a4c1 qcacld-3.0: Enable P2P component in CLD
P2P component related files moved from hostcmn to CLD, this change
adds initial functions, enables P2P in Kbuild.

Change-Id: I04102a5f3e59ded13ada15b1b417ae81c7a10e90
CRs-Fixed: 2361500
2018-12-11 17:25:51 -08:00
gaurank kathpalia
b3645e79ae qcacld-3.0: Fix memory allocation latency in beacon process
This is mirror change for 0f9f01950

Currently if the number of APs in the STA environment
are many, then the STA will receive many beacons, whose
beacon process path can take long time, in the kernel
work queue, hence the other processes have to wait
for them to complete, and may get timeout, if the
the time to process the beaocns is larger than their
process timeout.
Fix is to :-
1. Add rate limit to failure conditions of memory
not allocated
2. Make memory allocation in path of beacon process
atomic.

Change-Id: I488b446c23fd01c993f7dd9bd989867fda2331d8
CRs-Fixed: 2363307
2018-12-11 06:11:02 -08:00
Krunal Soni
1680e4192b qcacld-3.0: Move few INIs's ownership from HDD to Policy manager
This is mirror change for de218d60a

INIs
1) g_mark_sap_indoor_as_disable
2) g_sta_sap_scc_on_lte_coex_chan
3) gEnableSAPManadatoryChanList
4) gForce1x1Exception
4) g_sta_sap_scc_on_dfs_chan
5) gDualMacFeatureDisable
6) gEnableOverLapCh
7) gAllowMCCGODiffBI

Ownership of above INIs belong to policy manager, move them from
HDD to Policy manager.

Change-Id: I83a13b1fcc6ca4350071a71648c7072c2b2a5191
CRs-Fixed: 2363060
2018-12-10 23:33:37 -08:00
Wu Gao
e7687f4b71 qcacld-3.0: Parse INI configure with user setting
It use default value instead of user setting when parse INI
"gNeighborScanChanList".

Change-Id: I99ccede8b68eefbfef96718fa4432c1824cdcf7f
CRs-Fixed: 2363952
2018-12-10 23:33:33 -08:00
Jeff Johnson
8feaa63728 qcacld-3.0: Remove obsolete txrx.h
Almost all of the definitions in txrx.h are obsolete. Rather than
remove the obsolete definitions and leave behind a file containing
only the two definitions that are used, move those useful definitions
to ol_txrx_types.h and completely remove txrx.h.

A side effect of this change is that a couple of unrelated files no
longer build because some of their dependencies were being met as a
side effect by txrx.h including other files. To solve the build issues
explicitly include the necessary header files where they are needed.

Change-Id: Ic3e3b36939e4ab04831d41a1e230bfab3da086a2
CRs-Fixed: 2363231
2018-12-10 20:20:45 -08:00
Yeshwanth Sriram Guntuka
334aa8de95 qcacld-3.0: Add MLME CFG items of FE_WLM and FE_RRM
Add the following WLM and RRM ini configs to MLME
cfg:
CFG_LATENCY_ENABLE
CFG_LATENCY_LEVEL
CFG_LATENCY_FLAGS_NORMAL
CFG_LATENCY_FLAGS_MOD
CFG_LATENCY_FLAGS_LOW
CFG_LATENCY_FLAGS_ULTLOW
CFG_RRM_ENABLE
CFG_RRM_MEAS_RAND_INTVL
CFG_RM_CAPABILITY

Change-Id: I714aca1e9bc6d3c330934753364d7f58d93a28d7
CRs-Fixed: 2353103
2018-12-10 07:23:13 -08:00
Jeff Johnson
34233e246e qcacld-3.0: Rename GET_DISA_TX_OPS_FROM_VDEV()
The name GET_DISA_TX_OPS_FROM_VDEV() is misleading since the macro
actually uses a psoc, so rename the macro to reflect the actual source
of data. In addition update the macro parameter so that it is actually
used.

Change-Id: I1a895a677250d860920102ec0d25719312536231
CRs-Fixed: 2362598
2018-12-07 11:18:49 -08:00
CNSS_WLAN Service
2e085746ab Merge "qcacld-3.0: Move few INIs' ownership from HDD to MLME" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:22:02 -08:00
CNSS_WLAN Service
faa8324937 Merge "qcacld-3.0: Relocate HDD ini items (1)" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:21:48 -08:00
CNSS_WLAN Service
ccff2bdcfc Merge "qcacld-3.0: Decouple PMO LPASS and NAN wow enable check from vdev" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:21:44 -08:00
CNSS_WLAN Service
84c557dffc Merge "qcacld-3.0: Replace legacy string in vdevmgr with ext" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:21:30 -08:00
CNSS_WLAN Service
ae5ba120fe Merge "qcacld-3.0: Refine mlme btm configurations" into wlan-cld3.driver.lnx.2.0 2018-12-07 02:21:13 -08:00
Krunal Soni
d2c33e171d qcacld-3.0: Move few INIs' ownership from HDD to MLME
INIs
1) gFWMccRtsCtsProtection
2) gFWMccBCastProbeResponse
3) gEnableMCCMode
4) gSapChannelAvoidance
5) gStaMiracastMccRestTimeVal

Ownership of above INIs belong to MLME component, move them from
HDD to MLME.

CRs-Fixed: 2351219
Change-Id: I3dc1b8f1f036f10a0506cb1cb8481fc865ef18f9
2018-12-06 17:51:08 -08:00
CNSS_WLAN Service
8347191b12 Merge "Merge commit 'bf95f89d580858f9aaa5a09ec9bc1b0b0c410ef7' into wlan-cld3.driver.lnx.2.0" into wlan-cld3.driver.lnx.2.0 2018-12-06 17:26:31 -08:00
Sourav Mohapatra
0dfe5550e0 qcacld-3.0: Relocate HDD ini items (1)
Relocate below HDD ini items as per converged infrastructure.
1. CFG_ENABLE_RUNTIME_PM
2. CFG_STA_KEEPALIVE_METHOD_NAME
3. CFG_ENABLE_MCC_ENABLED_NAME
4. CFG_ENABLE_SAP_SUSPEND
5. CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME
6. CFG_INFORM_BSS_RSSI_RAW_NAME
7. CFG_AP_ENABLE_RANDOM_BSSID_NAME
8. CFG_VC_MODE_BITMAP

Change-Id: I881c87f9ca73804d03af358163c9a043b3193c81
CRs-Fixed: 2357174
2018-12-06 13:43:56 -08:00
Rajeev Kumar
1f97e10701 qcacld-3.0: Decouple PMO LPASS and NAN wow enable check from vdev
LPASS is driver specific feature which is controlled by INI item
and similarly NAN is also driver specific and not vdev specific
hence decouple PMO lpass and nan feature get APIs from vdev to
psoc.

Change-Id: I152f8b909cf85e412c2fa72a2e7147a1505e60e1
CRs-Fixed: 2361991
2018-12-06 12:02:56 -08:00
Abhishek Singh
5d921548f2 qcacld-3.0: Replace legacy string in vdevmgr with ext
Replace legacy string in vdevmgr with ext string.
Also adds new compile CMN_VDEV_MLME_CMPT_ENABLE macro
for VDEV MLME component.

Change-Id: I40ce0c2ee4d653d2f4ce68093e8ad1b2c78bece8
CRs-Fixed: 2361525
2018-12-06 10:27:50 -08:00
lifeng
6d19c25d31 qcacld-3.0: Refine mlme btm configurations
Refine mlme btm configurations based on converged cfg component.
Remove related legacy codes.

Change-Id: I0a90eceea5636e268048ed6bf1532150dc1f6b24
CRs-Fixed: 2355353
2018-12-05 13:13:36 -08:00
Abhinav Kumar
d4d6eb7d4e qcacld-3.0: ADD MLME INI items of FE_BEAMFORM and WLAN_REG
Add the following WLAN_REG ini configs and FE_BEAMFORM
cfg items to MLME cfg:
1. WNI_CFG_11D_ENABLED
2. WNI_CFG_11H_ENABLED
3. WNI_CFG_TX_BF_CAP
4. WNI_CFG_AS_CAP
5. WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP

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

In csr_roam_open_session, lim_populate_vht_mcs_set,
lim_sta_send_add_bss, populate_dot11f_tdls_ht_vht_cap,
populate_dot11f_vht_caps and sme_update_nss, local structure
is updated instead of mlme global structure for vht caps and
thus the mlme vht caps contains only the default values.

Fix this by updating mlme vht caps in mlme_update_vht_cap.

Change-Id: I1a948d7a44ad2bcc7f711c46b278971d7e4026e7
CRs-Fixed: 2354562
2018-12-04 19:57:54 -08:00
Linux Build Service Account
bf95f89d58 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../qca-wifi-host-cmn into HEAD 2018-12-04 16:15:31 +05:30
Linux Build Service Account
8f8a4f35e0 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../target/qca-wifi-host-cmn into HEAD 2018-12-04 16:12:45 +05:30
Linux Build Service Account
951c7235f4 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../qca-wifi-host-cmn into HEAD 2018-12-04 16:12:15 +05:30
Linux Build Service Account
c4ee8ca270 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../target2/qca-wifi-host-cmn into HEAD 2018-12-04 16:06:27 +05:30
Linux Build Service Account
0ce7a041e0 Merge branch 'wlan-cmn.driver.lnx.2.0' of ../qca-wifi-host-cmn into HEAD 2018-12-04 16:05:56 +05:30
Linux Build Service Account
478b1fa7a8 Move umac/cmn_services/policy_mgr to components/cmn_services/policy_mgr
Change-Id: Ie67730cd3f1a249c3dcbb2b6eaf95a55cbd08306
2018-12-04 15:59:42 +05:30
Linux Build Service Account
d2bb8757a6 Move target_if/tdls to components/target_if/tdls
Change-Id: Ia72f8dddc21df49bab8ba63be38ce080d858c603
2018-12-04 15:49:52 +05:30
Linux Build Service Account
92728a078f Move umac/tdls to components/tdls
Change-Id: I12eedee6215337be7f5dbcf6d546910cecedd3c3
2018-12-04 15:47:36 +05:30
Linux Build Service Account
7f1b42dbad Move target_if/p2p to components/target_if/p2p
Change-Id: I1ea8a2cc9f31223407fac0925b74e3c5a37bc6e5
2018-12-04 15:34:44 +05:30
Linux Build Service Account
11a56702a8 Move umac/p2p to components/p2p
Change-Id: I8ca4c55470674422eca2dc80dd269cf45d4942ea
2018-12-04 15:32:54 +05:30
Arif Hussain
bd5194c5e0 qcacld-3.0: Refactor CFG_FINE_TIME_MEAS_CAPABILITY cfg
Refactor following CFG_FINE_TIME_MEAS_CAPABILITY cfg items.

Change-Id: I854e584e366490f788ee778adad3fec0c2b5c8cc
CRs-Fixed: 2357070
2018-12-04 00:06:01 -08:00
Arif Hussain
4966f697ef qcacld-3.0: Refactor CFG_WMI_WQ_WATCHDOG cfg
Refactor following  CFG_WMI_WQ_WATCHDOG cfg items.

Change-Id: Ib65c6cda2a2574940604e8b67bc29a6749add842
CRs-Fixed: 2357070
2018-12-04 00:05:57 -08:00
Arif Hussain
224d38154f qcacld-3.0: Refactor more dfs cfg items
Refactor following DFS cfg items
CFG_DISABLE_DFS_CH_SWITCH
CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_NAME
CFG_IGNORE_CAC_NAME
CFG_DFS_RADAR_PRI_MULTIPLIER_NAME
CFG_SAP_TX_LEAKAGE_THRESHOLD_NAME
CFG_DFS_BEACON_TX_ENHANCED
CFG_DISABLE_DFS_JAPAN_W53
CFG_ENABLE_NON_DFS_CHAN_ON_RADAR

Change-Id: I7f39ed0680919c6a383d9b8bae5864f979b6948c
CRs-Fixed: 2351995
2018-12-04 00:05:53 -08:00
Nachiket Kukade
63bb63d833 qcacld-3.0: Complete the NAN component movement into CLD
NAN related OS IF, Target IF and component files have been
merged into CLD. Add Makefile changes, include correct
files, replace lmac tx/rx ops with the new ops and call
updated API's such as init/deinit.

Complete the remaining changes for moving NAN component
into CLD.

Change-Id: Idcf8816337aa49b399596ce3cdfc9cdab811d386
CRs-Fixed: 2338060
2018-12-03 15:17:59 -08:00
Jianmin Zhu
69e7bf332c qcacld-3.0: Enable CSA of STA mode for VDEV SM
After receive F/W wmi_csa_handling_event
1. Send WLAN_VDEV_SM_EV_FW_VDEV_RESTART before switch channel
	when gLimChannelSwitchTimer timeout.
2. Call __lim_process_channel_switch_timeout in
	mlme_vdev_restart_send.
3. Send WLAN_VDEV_SM_EV_RESTART_RESP in
	wma_vdev_start_resp_handler.
4. Send WMA_SWITCH_CHANNEL_RSP in mlme_vdev_start_continue.
5. Send WLAN_VDEV_SM_EV_START_SUCCESS in
	lim_switch_channel_cback.

Change-Id: I18e64ddf4ca898189cd22a3c8102a67702a025cc
CRs-Fixed: 2355762
2018-12-02 22:31:22 -08:00
gaurank kathpalia
3d2e38572b qcacld-3.0: Add CFG items of power
Add power items related CFG items in new file,
and store the respective inis in MLME component

Change-Id: Iac183da52495aca07c6270edeb9f383ab49c1ff5
CRs-Fixed: 2341900
2018-12-02 14:59:45 -08:00
Dustin Brown
7d038e52b4 qcacld-3.0: Use vtable for unit test ioctl
Convert the current hard-coded list of unit-test callbacks in
hdd_we_unit_test() to a vtable. This streamlines future additions.

Change-Id: I216bbb6699ae50eaa96ac559999cb42ba080867c
CRs-Fixed: 2358606
2018-11-29 23:33:20 -08:00
Arif Hussain
178f35f013 qcacld-3.0: Refactor TWT cfg
Refactor following TWT cfg items.
CFG_BCAST_TWT
CFG_ENABLE_TWT
CFG_TWT_RESPONDER
CFG_TWT_REQUESTOR
CFG_TWT_CONGESTION_TIMEOUT

Change-Id: Iad0c2ed0893513cc98bf12ec39d111b78c6e9d1f
CRs-Fixed: 2349558
2018-11-29 18:11:55 -08:00
Wu Gao
5d23d785f9 qcacld-3.0: Add second part of LFR INIs based on cfg components
The second part of LFR INIs are defined dynamically in legacy codes.
Refines these INIs and APIs based on new cfg component.

Change-Id: I89869c50952bf2fe403079299b3902fc53c11d61
CRs-Fixed: 2346784
2018-11-29 18:11:44 -08:00
Wu Gao
4f8938a510 qcacld-3.0: Refactor one mlme sta INI
Based on new cfg component, refactor CFG_TX_POWER_CTRL_NAME and clean
up related legacy codes.

Change-Id: I6dd317d5065c4111b71a9fe94d9b9af1f7d3d664
CRs-Fixed: 2355918
2018-11-29 18:11:38 -08:00
CNSS_WLAN Service
adc5b94097 Merge "Merge commit '5f51b61329fea7765dc92b62606f914a8b704f9f' into wlan-cld3.driver.lnx.2.0" into wlan-cld3.driver.lnx.2.0 2018-11-29 15:35:36 -08:00
Pragaspathi Thilagaraj
4b5c0601a2 qcacld-3.0: Add the MLME CFG items to new MLME component
Add the following mlme cfg items:
CFG_AP_PROTECTION_MODE_NAME
CFG_AP_OBSS_PROTECTION_MODE_NAME
CFG_AP_STA_SECURITY_SEPERATION_NAME
CFG_ENABLE_BT_CHAIN_SEPARATION
CFG_AP_QOS_UAPSD_MODE_NAME

Change-Id: Iabdfb7c2492c234cfc3e8f71f33801f0034e578d
CRs-Fixed: 2350626
2018-11-28 14:35:01 -08:00
Ashish Kumar Dhanotiya
68ee2e4c50 qcacld-3.0: Reset wow pattern on vdev destroy
Currently if a vdev is destroyed, wow patterns are not
getting cleared for that vdev, so when a new vdev is
created, host tries to configure new wow patterns for
this new vdev but due to FW limitations on number of
wow patterns that can be maintained at FW, FW is not
able to act on this filter and will not maintain this
new wow filter.

To resolve this issue, clear the wow patterns for the
vdev before it gets destroyed.

Change-Id: Iae7ad8b683c95d8eaf11355bc0e36b91cece2202
CRs-Fixed: 2344337
2018-11-28 09:35:06 -08:00
Wu Gao
fc81ecf914 qcacld-3.0: Refactor one INI about obss ht40
Based on new cfg component, refactor INI CFG_OVERRIDE_HT40_20_24GHZ_NAME
and remove legacy codes.

Change-Id: I5b4ed96a4930a9358bd93ee809bf5cddb2787fb4
CRs-Fixed: 2354476
2018-11-28 07:39:29 -08:00
Linux Build Service Account
3651cc1fa6 Merge commit '5f51b61329fea7765dc92b62606f914a8b704f9f' into wlan-cld3.driver.lnx.2.0
Change-Id: I194c9503f22edd85b6541b2c155e07cde1f131d1
2018-11-28 14:35:10 +05:30
Vignesh Viswanathan
ecd4de72ad qcacld-3.0: Cleanup HT Related CFG/INI Items
Cleanup multiple HT related CFG/INI Items which are already moved to the
MLME component.
Also move gShortSlotTimeEnabled INI from HDD to MLME component

Change-Id: Ie8c19f508401d4d72990f35ea5dcc18d45f0f16b
CRs-Fixed: 2354687
2018-11-23 03:38:24 -08:00
Bala Venkatesh
3d786ebe08 qcacld-3.0: Refactor SAP ini items
Refactor ini items gSapForce11NFor11AC and gGoForce11NFor11AC
into new mlme component.

Change-Id: I85e2f7f9ae14a23c322572290b095aae0f29b0ec
CRs-Fixed: 2354940
2018-11-22 18:18:01 -08:00
Abhinav Kumar
ab57671afd qcacld-3.0: ADD MLME INI items of WMM Config
Add the following WMM config ini configs to MLME cfg:

1. CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME
2. CFG_QOS_WMM_BURST_SIZE_DEFN_NAME
3. CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME
4. CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME

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

Change-Id: I149971768a7193099926e2778f093dcd073f0461
CRs-Fixed: 2327692
2018-11-22 07:53:08 -08:00
Bala Venkatesh
2fae18aa35 qcacld-3.0: Clean up legacy HE CAP Cfg items
Cleanup of HE caps cfg items from legacy path.

Change-Id: I769601f4d0f1681cee7168069e63f3f7ceab0475
CRs-Fixed: 2353934
2018-11-22 04:18:15 -08:00
Jianmin Zhu
8647c72757 qcacld-3.0: Fix asymmetry of ipa pdev create and destroy handler
Fix asymmetry of ipa create and destroy handler

Change-Id: I89f5ca112ef3cc6b46fef8273800c668936f9c2f
CRs-Fixed: 2353796
2018-11-22 04:18:12 -08:00
Pragaspathi Thilagaraj
129d6979e8 qcacld-3.0: Update wep_key length in mlme_get_wep_key
In mlme_get_wep_key, the key_length is got from the caller is
hardcoded to value 13. This should be updated based on the
length of the key and passed to the caller. But it is not
updated and value 13 is used to copy the key, resulting in
decrypt failure.
Also add debug logs to print wep key id and length.

Pass the key length by call by reference to update the key
length

Change-Id: Ie1e56a80db27894bf9f0426728f9fb74a014679e
CRs-Fixed: 2351182
2018-11-22 02:29:38 -08:00
jiad
af210c01e9 Revert "qcacld-3.0: Fix WDI 1.0 MCC TX SMMU fault"
This reverts commit 2459533, which fixes WDI 1.0 MCC SMMU fault
but it's only a partial fix. And we also need 2490501 to be a
complete fix. But 2490501 has regressions and leads to NULL
dereference, and it's reverted in 2517642 until a new complete
fix is ready.

Based on above, revert 2459533 and WDI 1.0 MCC SMMU datapath
will be a known issue.

Change-Id: I6444bfd8552906d889531b7e77ca6aa6b6fa7d6d
CRs-Fixed: 2352927
2018-11-22 00:43:27 -08:00
CNSS_WLAN Service
e933e9c8e4 Merge "Revert "qcacld-3.0: Fix WDI 1.0 MCC TX SMMU unmap"" into wlan-cld3.driver.lnx.2.0 2018-11-21 02:50:59 -08:00
Mohit Khanna
c908646fa9 Revert "qcacld-3.0: Fix WDI 1.0 MCC TX SMMU unmap"
This reverts change I7d04e9b01fbd973601ee9e4e74c6bf4dd3d0f7bb

This patchset is causing wlan_ipa_nbuf_cb to be called even when ipa_ctx
is null. wlan_ipa_nbuf_cb should not be called for non-IPA packets. Also
there should be a NULL check for ipa_ctx in the function.

Reverting the change may lead to SMMU errors during AP-AP MCC mode.

CRs-Fixed: 2352812
Change-Id: I2f2382ca12a14a09ed124ccd18a7f450282c5975
2018-11-21 14:46:31 +08:00
Arif Hussain
41cbc1e9a5 qcacld-3.0: Add ucfg api to get/set ps data inactivity timeout
Add and use ucfg api to get/set ps data inactivity timeout value.

Change-Id: I8b0931870507aac146a18b70103c323bea1ca6f3
CRs-Fixed: 2335980
2018-11-20 14:38:03 -08:00
Bala Venkatesh
6d53709337 qcacld-3.0: ADD HE CFG items in MLME component
Refactor HE cap cfg items to new mlme component using
updated cfg architecture.

Change-Id: Ib983d3fc983dfffd2eee7efd1a4e3681d26d84a6
CRs-Fixed: 2351420
2018-11-20 00:26:34 -08:00
Bala Venkatesh
46e2903f11 qcacld-3.0: Refactor SAP CFG items
Refactor SAP CFG items gMaxLIModulatedDTIM,
gCountryCodePriority, gSapPreferredChanLocation.

Change-Id: I52a1b3f782c440b12a2f2dcf82d9dad6cf6e76e0
CRs-Fixed: 2351237
2018-11-17 08:00:20 -08:00
wadesong
3777915910 qcacld-3.0: Add missing CFG INI comment text - wave 2
1) Some CFG INI options' comment text are missing.
   Add them so automation script can parse and retrieve the
   correct comment text.
2) Fix some discrepancies in existing CFG INI comments.
3) Delete some INI items that are not used any more.

Change-Id: Ia2fc4fab70f78e99d14fd1f7f2b4248e6484ee32
CRs-Fixed: 2350612
2018-11-16 05:10:01 -08:00
gaurank kathpalia
2fc3b89d0b qcacld-3.0: Fill nss chain params from legacy structure
Fill the cmn nss chains structure from the mlme
nss chain params structure and send to fw

Change-Id: I573b0df20be31af536107f0585e7fa825dc2b6b3
CRs-Fixed: 2349823
2018-11-16 05:09:56 -08:00
gaurank kathpalia
991e2fa092 qcacld-3.0: Store the nss, chain config in vdev priv obj
Store the ini and dynamic configurations in the
respective vdev's mlme priv obj.

Change-Id: Ib7a90937799a188dd729c91e7ee248d3287951c5
CRs-Fixed: 2349201
2018-11-16 05:09:45 -08:00
gaurank kathpalia
24ed0f4056 qcacld-3.0: Infra for mlme_priv_obj with VDEV_SM enable/disable
Define two different mlme priv obj structures
based upon the flag CONFIG_VDEV_SM, for the
support of dynamic nss, chains update.

Change-Id: I00f39eb82973da86233ddfc8bdcc94b6ca8a439a
CRs-Fixed: 2349200
2018-11-16 05:09:40 -08:00
gaurank kathpalia
b414bce3b7 qcacld-3.0: Add prefix NSS_CHAINS to band info
Add prefix NSS_CHAINS to band info to remove duplicate band
info in driver, and minor code cleanup.

Change-Id: I3a8446af6b6c272cfcb19583540e2384f64e3a1a
CRs-Fixed: 2347624
2018-11-16 05:09:35 -08:00
gaurank kathpalia
78af193878 qcacld-3.0: Populate the ini and dynamic params
Populate the ini and dynamic params from the mlme
component and store them to the respective
vdev component in mlme priv obj during vdev create.

Change-Id: Ic80526e51ba97c24b5340843fc97406a6ba4c7ef
CRs-Fixed: 2347504
2018-11-16 05:08:46 -08:00
gaurank kathpalia
6c9d1c3e70 qcacld-3.0: Populate ini params in mlme_cfg
Populate the ini params from ini file and store them
in mlme_cfg structure.

Change-Id: I3eb8e60e26deeb24228d9b8a24bb957478344492
CRs-Fixed: 2347505
2018-11-16 05:08:42 -08:00
gaurank kathpalia
899ffa1ab1 qcacld-3.0: Add new ini file for chainmask feature
Add New inis for nss, chains, and disable_diversity
values.

Change-Id: I837d64f58d3c2386b43ee3cdcc095f7833954c12
CRs-Fixed: 2347385
2018-11-16 05:08:34 -08:00
Linux Build Service Account
bf24591576 Merge NAN Component files from branch 'wlan-cmn.driver.lnx.2.0' into wlan-cld3.driver.lnx.2.0 2018-11-15 19:16:12 +05:30
Linux Build Service Account
eefcfdd514 Merge NAN related Target IF files from branch 'wlan-cmn.driver.lnx.2.0' into wlan-cld3.driver.lnx.2.0 2018-11-15 19:15:04 +05:30
Linux Build Service Account
4e044cf9f5 qcacld-3.0: Merge NAN component files from CMN into CLD
NAN component is not needed in the CMN repo. To reduce the
unnecessary lines of code, merge the NAN component files
from CMN into CLD with updated copyrights. Subsequently
remove these files from the CMN repo.

Merge NAN component files from CMN into CLD.

Change-Id: I63c2fb90ea517496946ea45a66bdf290af9d5a7c
2018-11-15 19:12:32 +05:30
Manjunathappa Prakash
ce8109df27 qcacld-3.0: Rate limit IPA callback API failure logs
Excessive failure log due driver is in transition state. This
is coming from stats callback function, rate limiting the logs.

Change-Id: Idcd5304c492fa538614ac45d4c7bb3a601f23bcc
CRs-Fixed: 2347721
2018-11-15 05:11:03 -08:00
Linux Build Service Account
9c774fa650 qcacld-3.0: Merge NAN related Target IF files into CLD
NAN component is not needed in the CMN repo. To reduce the
unnecessary lines of code, merge the NAN related Target IF
files from CMN into CLD. Subsequently remove these files
from the CMN repo.

Merge NAN related Target IF files from CMN into CLD.

Change-Id: I02475f1e1a3a90280bb9da0f131ba34bb189f5b3
2018-11-15 17:16:52 +05:30
jiad
15fb83796a qcacld-3.0: Fix WDI 1.0 MCC TX SMMU unmap
For WDI 1.0 MCC TX, wlan driver is involved for TX and skb is
provided from IPA driver. With SMMU enabled, dma_addr is of
IPA domain. In such case, wlan driver needs to do DMA map
itself. After doing DMA map, an offset of frag_header
and ipa_header is added to the iova and skb->cb is updated
with the new iova. After TX completion, skb DMA unmap is done
but with the iova of the above offset included, which leads to
unmapped iova error.

Fix is to recalculate the iova and update skb->cb with new iova,
which has frag_header and ipa_header length removed.

Change-Id: I7d04e9b01fbd973601ee9e4e74c6bf4dd3d0f7bb
CRs-Fixed: 2338049
2018-11-14 22:06:05 -08:00
wadesong
5cea9124a5 qcacld-3.0: Add missing CFG INI comment text - wave 1
Some CFG INI options' comment text are missing.

Add them so automation script can parse and retrieve the
correct comment text.

Change-Id: I4f79b075244c18490c52bc9a178d36c47db43878
CRs-Fixed: 2348307
2018-11-14 18:51:40 -08:00
Karthik Kantamneni
9180c75d61 qcacld-3.0: Add RTT related CFG item
ADD RTT MAC randomization CFG item based on converged cfg component

Change-Id: I0e1203fc3b3cdab8d9f331c90092b460a02f0fbf
CRs-Fixed: 2349709
2018-11-14 13:47:11 -08:00
Dustin Brown
81cf264aaa qcacld-3.0: Print stack trace on DSC timeout
DSC panics in debug builds in the event of various timeout events. In
addition to these panics, print the stack trace of the invoking thread
to assist in finding the exact reason for deadlocks.

Change-Id: I69666cfc52fb7ca3638c32212bae3e3c3ddd8366
CRs-Fixed: 2349387
2018-11-13 21:11:49 -08:00
wadesong
cc2e216a57 qcacld-3.0: Fix some discrepancies in CFG INI comments
Discrepancies between some of the CFG INI names and their comment
text were discovered during reviewing.

Fix them by making all comment text aligning with the real CFG
INI names.

Change-Id: I1bf5417ea79727da451d0d6ca1a5cd100523e49a
CRs-Fixed: 2348140
2018-11-13 08:28:08 -08:00
Dustin Brown
c35ea2d785 qcacld-3.0: Modify DSC trans assert to check ancestors
Currently, APIs in the dsc_*_trans_assert() family assert a transition
is in flight on the given node itself. Instead, replace this API family
with another, dsc_*_assert_trans_protected(), which assert a
transition is in flight on the given node or any of its ancestors.

Change-Id: I5fb07000f955a49a4e5529806f4e49d9dbc8acb7
CRs-Fixed: 2347789
2018-11-13 02:43:32 -08:00
jiad
a244137e66 qcacld-3.0: Fix WDI 1.0 MCC TX SMMU fault
SMMU fault is observed for WDI 1.0 MCC TX when SMMU is enabled.
Issue is that dma_addr passed from IPA driver is iova of IPA
domain. WLAN driver directly uses the iova to do transmission.
Since iova is not mapped in WLAN domain, SMMU fault occurs.

Fix is to map skb to WLAN domain for TX when SMMU is enabled.

Change-Id: I4c029a1e4dfff149e2784f5b95fe1f3cf3e3719e
CRs-Fixed: 2318537
2018-11-12 18:28:03 -08:00
jiad
9d613a24eb qcacld-3.0: Fix WLAN IPA RM enablement
With IPA WDI unified API, IPA PM is used instad of IPA RM
for power/resource management. When checking if IPA RM is
enabled or not, HDD_IPA_RM_ENABLE_MASK is thus not applicable
for WDI unified API.

Fix is to always return true for IPA WDI unified API for power
efficiency.

Change-Id: I047b3156cf00002142dd3acb021cfb6ce64489ee
CRs-Fixed: 2283088
2018-11-09 15:25:01 -08:00