Commit Graph

706 Commits

Author SHA1 Message Date
Hangtian Zhu
c7642605cc qcacld-3.0: Add CONFIG_MULTI_IF_LOG to support multi if log
This is a propagation of qcacld-2.0 commit 98821c7dcf49d ("qcacld-2.0:
Add CONFIG_MULTI_IF_LOG to support multi if log"). Add CONFIG_MULTI_IF_LOG
to support multi if log by assigning the specific netlink protocol
when dual wlan cards are loaded.

Change-Id: I3ea9574899c23a8d2ebbdea5b958cc3ad7947fe5
CRs-Fixed: 2525483
2019-09-20 01:06:04 -07:00
Saket Jha
9953150a8f qcacld-3.0: Featurize legacy Helium DP
Memory optimization of legacy Helium DP (ol_*.*,htt_*.*)

Change-Id: I8f3a1f7edeeb8f793c4d3c74d22231d86ff124a6
CRs-Fixed: 2508723
2019-09-19 20:54:47 -07:00
Abhishek Singh
78b974008a qcacld-3.0: Remove unused bssId from struct sDphHashNode
The bssId in struct sDphHashNode represent vdev_id and same can
be used from pe session which already has this info so remove
bssId param.

Change-Id: I47a7f27e95bfaa9ecd617cb531895601a27dfbf5
CRs-Fixed: 2530965
2019-09-19 14:52:52 -07:00
Alok Kumar
eaac9a6304 qcacld-3.0: Add Feature Flag to record Rx paddr in CE History
Add Feature Flag HIF_RECORD_RX_PADDR for Helium only to record
paddr for IOVA and virtual address in CE descriptor history.

Change-Id: I926fbd0fa74cc7e1488a5c7cac007a6432d50d2e
CRs-Fixed: 2528295
2019-09-16 23:49:13 -07:00
Amar Singhal
40dd5196a2 qcacld-3.0: Add configuration items for 6 GHZ
6 GHZ has introduced new set of frequency based APIs. Also there is
conditional usage of 6 GHZ band. Add configuration items for these.

Change-Id: I22703989ec7e6711af640f1f9d0afded46026b8a
CRs-Fixed: 2513098
2019-09-16 15:14:01 -07:00
Tiger Yu
be6e775e9a qcacld-3.0: Fix the regression issue for pktlog failure with ROME module
The pktlog will fail with ROME module due to the change IDs:
I24776caa3b78ec38d94421f243ec72d81ee3102d
Ifb70ac0993f2402201f88758845f730cf677b1a0

Define new macro PKTLOG_LEGACY for HELIUM/ROME to avoid the ROME PKTLOG
failure.

Change-Id: Ibaa20b7af208a261e0fd8682de45ad8eb4a69212
CRs-Fixed: 2520696
2019-09-15 22:48:19 -07:00
Alok Kumar
689469268f qcacld-3.0: Add Feature Flag to record Rx paddr in CE History
Add Feature Flag HIF_RECORD_RX_PADDR for Helium to record
paddr in CE descriptor history.

Change-Id: I5a6af11fecc00a26d1a334a983290a00be34895c
CRs-Fixed: 2525667
2019-09-13 17:36:58 -07:00
Ajit Pal Singh
9c098859c1 qcacld-3.0: usb: Enable WLAN_FEATURE_WOW_PULSE for OOB
Enable WLAN_FEATURE_WOW_PULSE for OOB wakeup support

Change-Id: I788d60a62a979a6bcbb775d2153fcf5cfa90c426
CRs-Fixed: 2524631
2019-09-12 06:23:01 -07:00
Tiger Yu
bf14ba81a9 qcacld-3.0: Add protection for type_specific_data in ath_pktlog_hdr
The member of type_specific_data is not valid for ROME module. Add macro
protection for type_specific_data in the ath_pktlog_hdr to avoid offset
error when getting the msdu id info during  processing pktlog TX info.

Change-Id: Icb8b95cef9a32732116522e4fc3b39067ff36037
CRs-Fixed: 2522277
2019-09-11 01:32:44 -07:00
Yu Wang
baff800e4d qcacld-3.0: add support for wlan config override
Introduce a new Kbuild option 'WLAN_CFG_OVERRIDE' to override
wlan configurations.
Value of this option is a list, which includes the config items
those need to override, its pattern is as below:
WLAN_CFG_OVERRIDE="WLAN_CFG_1=n WLAN_CFG_2=y WLAN_CFG_3=n"

For LA build, it makes use of this Kbuild option, and introduces
new android build options for different products:
  WLAN_CFG_OVERRIDE_wlan: for single wlan driver case.
  WLAN_CFG_OVERRIDE_<chip>: for multiple wlan drivers case, for
    example WLAN_CFG_OVERRIDE_qca6390 and WLAN_CFG_OVERRIDE_qca6174.

Change-Id: I8e062c62d36e076a79032a47aa04501d4543a9c8
CRs-Fixed: 2515905
2019-09-09 05:35:22 -07:00
Visweswara Tanuku
2e839e540c qcacld-3.0: Genoa: SDIO: Handle Tx Padding & Credits
In Genoa SDIO ADMA implementation Host sends packets to FW in
multiples of SDIO Block size.
If the packet/bundle is not block aligned Host adds padding at the
end of Packet/Bundle.

If the TX packet plus padding exceeds one FW TX Buffer, Padding data
will occupy the next FW TX buffer. Same applies for bundle TX packet.

For above scenario, HTC_FLAGS_PADDING_CHECK of HTC header Flags is used
to notify the FW that - Padding data follows the currentHTC packet

Since the padding data will take one extra FW Tx Buffer, host need to
handle the extra Tx credit being used by the padding data/buffer

CRs-Fixed: 2516619
Change-Id: Ie2d2292fabb30e1a13eebe4d11b57f452e42afa8
2019-09-08 07:37:21 -07:00
Hangtian Zhu
39e2e21a83 qcacld-3.0: Use QCS40X instead of QCS405 in config files
Use QCS40X instead of QCS405 in config files. Kernel defconfig files for
QCS405 and QCS403 has been separated recently, and the arch has been
changed between these two chips. But all QCS related features and changes
in cld should all be included, so use CONFIG_ARCH_QCS40X to replace
CONFIG_ARCH_QCS405.

Change-Id: I6f0837bb3d3f1530aea5b2d4912741beb8c313bd
CRs-Fixed: 2519267
2019-09-04 17:38:18 -07:00
Subrat Dash
b1e61b2083 qcacld-3.0: Add support for gpio based strobe to capture tsf
Add configuration for gpio pin used to send strobe to wlan hw.

The host driver will latch the current time and toggle the gpio
to generate a strobe to wlan hw.

The tsf will be latched on detecting the strobe and it will be
made available in a register for sw access.
The wlan fw will read this tsf and report it to driver using tsf event.

Change-Id: I4365d97d22836ddbbd2bf9913d4f723e5a870369
CRs-Fixed: 2495152
2019-08-21 00:06:01 -07:00
Nirav Shah
5db193fced qcacld-3.0: Featurize partial reorder properly
Avoid compiling ol_rx_reorder.c and ol_rx_reorder_timeout.c
for low latency and only compile for high latency
data path.

Change-Id: I1f3819fa093766abba87e5dc6dc44e6d2188740b
CRs-Fixed: 2506005
2019-08-19 02:10:41 -07:00
Abhishek Ambure
93bb96104d qcacld-3.0: Add SERIALIZE_VDEV_RESP_TIMER in Kbuild
SERIALIZE_VDEV_RESP_TIMER macro enables target_if common code for
vdev response timer callback handlers.

Change-Id: Ic1f647a99a0c90f2492bdb0c9d2d525fabb6d86a
CRs-Fixed: 2507526
2019-08-13 11:01:31 -07:00
Abhishek Ambure
d6a16152ce qcacld-3.0: Cleanup CMN_VDEV_MGR_TGT_IF_ENABLE in Kbuild
Remove "CMN_VDEV_MGR_TGT_IF_ENABLE" from Kbuild as target_if common
code is used for vdev operations and legacy code is removed.

Change-Id: I15fb2311aa1b6eeec506d9a6bdc720abaf93244e
CRs-Fixed: 2507456
2019-08-12 10:22:35 -07:00
Visweswara Tanuku
322348dfce qcacld-3.0: Enable Motion Detection Feature for Genoa USB
Enable Motion Detection Feature for Genoa USB interface
using config flag CONFIG_FEATURE_MOTION_DETECTION

Change-Id: If345705619f231d195d79e50a9bb2478641bd4df
CRs-Fixed: 2501957
2019-08-06 10:16:18 -07:00
Tushnim Bhattacharyya
c55e9a75c4 qcacld-3.0: Define MGMT_DESC_POOL_MAX in Kbuild
Add MGMT_DESC_POOL_MAX in the defaul_defconfig file.

Change-Id: I996c90f48db9add25dc4feec4f1f4d1cbfc2e16f
CRs-Fixed: 2495584
2019-08-05 10:55:27 -07:00
Abhishek Ambure
2ac5dec407 qcacld-3.0: Add target_if common code in Kbuild
Add target_if common code and enable feature flags needed
to resolve compilation errors.

Change-Id: Ie3ceb2b94dfb580d7d5ddfedefb00cee69434590
CRs-Fixed: 2454757
2019-08-05 10:55:18 -07:00
Tushnim Bhattacharyya
72d812089c qcacld-3.0: Define MAX_BCN_PROBE_IN_SCAN_QUEUE in Kbuild
Add MAX_BCN_PROBE_IN_SCAN_QUEUE in the defaul_defconfig file.

Change-Id: Ic477daa892bad4ae52585492c006d5a4bf60ed3b
CRs-Fixed: 2495604
2019-08-01 06:47:39 -07:00
Nirav Shah
a43f6dc3cf qcacld-3.0: Featurize DHCP indication for SAP
Featurize DHCP indication for SAP and disable it
for QCN7605 as this feature is broken for HL
Data Path.

Change-Id: If1db649131d887a2aab18461187403b4b9a2c5b4
CRs-Fixed: 2496032
2019-08-01 00:02:17 -07:00
Sriram Madhvapathi
ecb0bcde59 qcacld-3.0: Add sdio abstraction layer support for QCN7605
The SDIO HIF for QCN7605 requires to use the SDIO Abstraction Layer.
Used the SDIO CNSS2 PLD layer api's to interface with SDIO AL

Change-Id: I839a580941e4651e3dcff4f87cda26cc567687fc
CRs-Fixed: 2275631
2019-07-30 09:11:31 -07:00
hqu
ff302a9f4a qcacld-3.0: Define void * data members of cp_stats with specific type
Define void * data members of cp_stats with specific type, remove void
pointer usage for part of cp stats code.

Change-Id: Iace37c0a546909b865d5185830a2e02b5b39b7d8
CRs-Fixed: 2492544
2019-07-26 18:21:46 -07:00
Chaoli Zhou
b11e18a0a4 qcacld-3.0: Export max IPA interface numbers
As for Rome, currently it usually just only support two
IPA interfaces offload, if use the default value 3, which
will cause the IPA pipe setup failure issue. So export
the max IPA interface numbers, and it's better to set
the appropriate value from build file according to
different requirement for different chipset and platform.
Meanwhile, it support SMMU on the sa415 platform, so
enable SMMU for it.

Change-Id: I2de31bcb4d38f5e7964d2cbdc2fc6f143eef510d
CRs-Fixed: 2480627
2019-07-25 02:40:48 -07:00
Ashish Kumar Dhanotiya
9cc2a864c0 qcacld-3.0: Disable ext scan in driver
Currently ext scan is enabled by default in driver which
is increasing driver size significantly and ext scan
is not getting used anymore.

Disable ext scan with feature flag CONFIG_FEATURE_WLAN_EXTSCAN
to reduce driver size.

Change-Id: Id0fdeae6e6b71f53d3b73322aca659254d52cec8
CRs-Fixed: 2491452
2019-07-24 21:43:16 -07:00
Jinwei Chen
deb9936ddb qcacld-3.0: support rx packet deliver even if no peer found
Enable macro DP_RX_PKT_NO_PEER_DELIVER to deliver some RX pakcets
like Eapol even if there is no related peer found, this is
needed for the LFR roaming case.

Change-Id: Ia732c6448319bca122d405d25f2af410df0f4d68
CRs-Fixed: 2491507
2019-07-19 02:48:05 -07:00
hqu
2aeaa676b5 qcacld-3.0: Add include path for file target_if_pub.h
New added header file target_if_pub.h is introduced due
to remove void usage for objmgr module, add include path
for this header file to compile.

Change-Id: I4f79e6d3213941b86fbadd42934cd355bcd0a511
CRs-Fixed: 2488101
2019-07-19 02:48:01 -07:00
Jianmin Zhu
fa587a8fe1 qcacld-3.0: Config special 4 ports dual SAP+dual STA
Enable following special 4 ports concurrency for Auto HST
platform.
(SAP+STA) (2.4G MAC SCC)+(SAP+STA) (5G MAC SCC).

Change-Id: I6ab34606a98c1e4a670de63e12e54f2becd4d1d4
CRs-Fixed: 2457713
2019-07-18 12:10:28 -07:00
Pragaspathi Thilagaraj
6c88d4059b qcacld-3.0: Change the maximum serialization pending commands
The host driver serialization module currently supports upto 4
commands in non scan pending queue. This is calculated at the
wlan_serialization_vdev_create_handler() as:
    max_pending_cmds = (WLAN_SER_MAX_PENDING_CMDS /
                        WLAN_SER_MAX_VDEVS)

But in SAP case, if multiple STA sends deauth at the same time,
4 pending commands in non scan pending queue is not sufficient
and will result in only disassoc from the first 4 STA getting
honored.

The current host wlan driver supports 3 SAP mode and
2 STA vdevs amounting to a total of 5 vdevs supported.
So calculate the total non scan pending commands for
serialization based on the total peers supported for each
mode to fix this issue.

In SAP case, maximum 32 peer are supported and for STA case,
maximum 4 pending commands for serialization. So change the
max pending commands calculation as:
 max_pending_cmds = (No. of sap modes supported * 32) +
                    (No .of STA modes supported *4 )

Change-Id: I30b2d79f2c15a092060dbdd729e1d035eb36fd83
CRs-Fixed: 2468945
2019-07-17 17:42:23 -07:00
Liangwei Dong
03e080c45a qcacld-3.0: Change beacon tx WMI API under feature flag
Add feature flag WLAN_WMI_BCN to compile Beacon tx APIs
selectively.

Change-Id: Ie2b4ad0ae7a7c6de7286ed0b215084060a4f34c6
CRs-Fixed: 2483531
2019-07-16 17:14:44 -07:00
Saket Jha
8d70a68163 qcacld-3.0: Add WAR to ignore duplicate RX desc
Check if host is reaping a descriptor which is already
reaped then drop RX desc processing instead of asserting.
Macro DUP_RX_DESC_WAR added before dp_rx_dump_info_and_assert function
which does not assert for the case WAR is enabled.

Change-Id: I8a095d33e4f7e868340d9a76618c064af764386d
CRs-Fixed: 2487793
2019-07-16 12:14:45 -07:00
Sravan Kumar Kairam
42ceddefc1 qcacld-3.0: Add feature flag for pcie reg window no cache
Add feature flag PCIE_REG_WINDOW_LOCAL_NO_CACHE to support no
caching of PCIE register window value in driver.

Change-Id: I427b784de874464b98a2acf67b9850e1e41f65aa
CRs-Fixed: 2487158
2019-07-11 23:26:33 -07:00
Paul Zhang
da2970b777 qcacld-3.0: Add OEM DATA vendor command support
This command is used to send OEM data binary blobs
from application/service to firmware.

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

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

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

Change-Id: Id106b38228f837ba056eb916004dc012e919ddd2
CRs-Fixed: 2472004
2019-07-03 08:55:49 -07:00
Vevek Venkatesan
8b579f4ef2 qcacld-3.0: move HIF_CONFIG_SLUB_DEBUG_ON define to driver Kbuild
Move definition of HIF_CONFIG_SLUB_DEBUG_ON to driver Kbuild,
to cleanup CONFIG_MCL/CONFIG_WIN dependency.

Change-Id: I3f4abf546c5c9fe08531a14234f149a82cd14bf1
2019-07-02 02:40:00 -07:00
Vevek Venkatesan
6230c333d6 qcacld-3.0: featurize wmi multi mac service
Featurize wmi multi mac service with the feature flag
WMI_MULTI_MAC_SVC, to cleanup CONFIG_MCL dependency.

Change-Id: Id159a514cf3773e4dcbc0ecd290014b828673882
2019-07-02 02:39:56 -07:00
Pragaspathi Thilagaraj
b3472f0fcd qcacld-3.0: Implement WAR for P2P GO 1x1 HT association with peer
In P2P GO mode, if the P2P client device is not VHT capable and
only HT capable, but the DUT P2P GO is VHT capable and advertises
2x2 NSS and sends packets with 2x2 rates, it results in interop
issues with HT only capable P2P client devices.

When GO is operating in DBS mode, GO beacons advertise 2x2
capability but include OMN IE to indicate current operating mode
of 1x1. But here peer device is only HT capable and will not
understand OMN IE.

Check if the P2P client device is only HT capable and has
"\x00\x50\xf2\x04". Then downgrade the P2P GO operation to 1x1
nss. Modify rx mcs map value in association response to enable
only mcs 0-7.

Change-Id: I7177c5aee9a560a20c50a63886c0ee77f7d617ae
CRs-Fixed: 2464925
2019-06-25 13:05:57 -07:00
Vevek Venkatesan
dba9bc045b qcacld-3.0: add dummy feature flags for DP compilation
Add dummy feature flags for WIN/MCL converged data path
compilation.

Change-Id: Ia13757fcdcf21d050226fcc0e187658f6eda7b6d
CRs-Fixed: 2467183
2019-06-21 03:09:11 -07:00
Venkata Sharath Chandra Manchala
af9e44acd9 qcacld-3.0: Enable per ring type configuration
Add flag WLAN_DP_PER_RING_TYPE_CONFIG
to enable per ring type configuration.

Change-Id: I14b078cf3c20f07a377ecc53b12f4c114ceb62b2
CRs-Fixed: 2474287
2019-06-20 20:15:14 -07:00
Vevek Venkatesan
aa66a19a22 qcacld-3.0: enable QCA_WIFI_QCA6290_11AX_MU_UL feature flag
Enable QCA_WIFI_QCA6290_11AX_MU_UL feature flag for HAL layer.

Change-Id: Ia9cd4e0638fa4f340145f9523af14f720df198f8
2019-06-20 08:45:31 -07:00
Lihua Liu
e98a13599a qcacld-3.0: Disable QDF_LOCK_STATS_BUG_ON on SDXPRAIRIE platform
As single CPU and low frequency platform, the held time of spin lock
easily exceed the max time allowed when system taking heavy payload.
then crash occur. To address this, Disable QDF_LOCK_STATS_BUG_ON on
SDXPRAIRIE platform.

Change-Id: I156a003b361f3653591102de1cde9b131c467968
CRs-Fixed: 2456386
2019-06-19 07:47:16 -07:00
Tiger Yu
e40e7836a5 qcacld-3.0: Add support for TCP delayed ack in driver
qcacld-2.0 to qcacld-3.0 propagation

This change adds support for driver supported TCP
delayed ack to increase TCP RX performance in
third-party platform which does't support kernel
TCP delayed ack feature.

TCP delayed ack is dependent on count and timer
values. Whatever is achieved first will trigger
sending TCP ack.

This feature can be controlled through ini values.
gDriverDelAckTimerValue - timer value in ms
gDriverDelAckPktCount - delayed ack count
gDriverDelAckEnable - enable/disable feature

Change-Id: I8105bbb90965295b5a4aefeb00d344a90155974d
CRs-fixed: 2414224
2019-06-18 22:27:35 -07:00
Vevek Venkatesan
f2956ad09a qcacld-3.0: add feature flags to featurize DP operations
Add feature flags DP_FLOW_CTL to featurize DP flowctl ops,
DP_PEER_MGMT to featurize peer handling in DP,
DP_POWER_SAVE to featurize power saving ops in DP.

Change-Id: I02f487fec846e9dd9ffcaf53a10e49e7a3365fff
2019-06-17 22:25:10 -07:00
sandeep puligilla
4afcb11934 qcacld-3.0: Add target wakelock api in Kbuild
Add wakelock api in the Kbuild.

Change-Id: Ide44f57e2ce3f8f659656c3e8c578d9f7851e9be
CRs-Fixed: 2441316
2019-06-17 11:44:54 -07:00
Rakesh Pillai
f41fe0c28a qcacld-3.0: Add feature flag for event history logging
Add a feature flag enabling support in defconfig
for the datapath event history logging feature.

CRs-Fixed: 2466616
Change-Id: I8fc2c76a927aea3e2e723cde87c69e59e03a9848
2019-06-17 10:22:52 -07:00
guangde
4853c40d31 qcacld-3.0: Add get antenna isolation command
Propagation from qcacld2.0 to qcacld3.0.
The WMI CMD and EVENT of "get antenna isolation" are already defined,
but not used before in qcacld3.0.
Now, The host driver uses vendor command to get this information
instead of iwpriv command in qcacld-2.0.
The attribution of this feature is already defined in file
"qca_vendor.h". The name is "QCA_WLAN_VENDOR_ATTR_ANTENNA_ISOLATION".
So host driver will use vendor command
"QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY" to get the information
from lower layer.

Change-Id: I915768f622ddc9a70a95ce4fe952f19917a8f901
CRs-Fixed: 2447360
2019-06-14 01:49:41 -07:00
hangtian
b9c9136eaf qcacld-3.0: Fix QCA_LL_PDEV_TX_FLOW_CONTROL invalid memory access
Add QCA_LL_PDEV_TX_FLOW_CONTROL for both
QCA_LL_LEGACY_TX_FLOW_CONTROL and QCA_LL_TX_FLOW_CONTROL_V2
disabled platform, avoid frame drop in driver which leads to bad TCP
TX throughput. Change NUM_TX_QUEUES to 5 for this case to avoid invalid
memory access in wlan_hdd_netif_queue_control().

Change-Id: Ifa649e31a41d1bf89eadc8cc7e9520f0e27b9fe4
CRs-Fixed: 2466996
2019-06-13 04:10:25 -07:00
gaurank kathpalia
3ebc17b3e5 qcacld-3.0: Link BLM to the legacy APIs
Link BLM exposed APIs to the following:-

1. csr_get_scan_result:- Link this API with filter bssids in
the reject ap list maintained by the blacklist mgr.

2. lim_assoc_rej_add_to_rssi_based_reject_list:- Link this API
with the the blacklist mgr add bssid to reject list to add the
OCE and BTM related assoc rejects.

3. Userspace avoid list parsing logic for the userspace to set
the BSSID as avoided.

Change-Id: Id51ffb80cea3f845fefe14db25d0f7acda6ea0f3
CRs-Fixed: 2461281
2019-06-02 01:51:34 -07:00
sheenam monga
fa3cb430b3 qcacld-3.0: CONFIG_MCL cleanup for WLAN_SCHED_REDUCTION_LIMIT
Remove CONFIG_MCL for reduction limit to make code generic.
Initialize value for reduction limit  i.e WLAN_SCHED_REDUCTION_LIMIT
to 0 for MCL. In case WLAN_SCHED_REDUCTION_LIMIT not defined, then
define WLAN_SCHED_REDUCTION_LIMIT to 32 for WIN.

Change-Id: I6f6e4c9b3df71110654d487fcdae0334eeee4091
CRs-Fixed: 2459119
2019-05-24 16:00:48 -07:00
Paul Zhang
3718567245 qcacld-3.0: Implement api for interop issues ap
Implement the interface to transfer the info between
host driver and firmware about the ap which has interop
issues with the DUT. It is detected by firmware and
forwarded to user sapce for persistent storage. And
user space configs these APs to firmware when the DUT
starts up next time.

CRs-Fixed: 2425202
Change-Id: I2e828d521f0e04862a01fa1c90626f51b7f65796
2019-05-24 16:00:44 -07:00
Abhishek Singh
ed8873ab97 qcacld-3.0: Remove Vdev SM related flags from configs
Vdev SM related flags are no longer used so remove them.

Change-Id: Iafb5d15691644912e563072a9fd6bdccd1b16918
CRs-Fixed: 2457271
2019-05-24 06:42:10 -07:00
Varun Reddy Yeturu
cbaa004c02 qcacld-3.0: Add compile time flag RX_DESC_MULTI_PAGE_ALLOC
Add a compile time feature flag by name RX_DESC_MULTI_PAGE_ALLOC
which will enable the memory allocation of RX descriptors using
multiple pages instead of large contiguous memory.

Change-Id: Ia3803a3685c605c79a34a0c2c000d7ed4adb7d97
CRs-Fixed: 2456267
2019-05-23 20:34:56 -07:00
sheenam monga
70823870a4 qcacld-3.0: CONFIG_MCL cleanup for Serialization msg queue depth
Remove CONFIG_MCL for Serialization msg queue depth to make code generic.
Initialize value for Serialization msg queue depth i.e
SCHEDULER_CORE_MAX_MESSAGES to 1000 for MCL. In case
SCHEDULER_CORE_MAX_MESSAGES not defined, then
SCHEDULER_CORE_MAX_MESSAGES define to 4000 for WIN.

Change-Id: I498cfb73ed7774d9d26b1374ee87b1a7691341d9
CRs-Fixed: 2457704
2019-05-23 09:30:36 -07:00
Mohit Khanna
d02e9b8b42 qcacld-3.0: Enable RX_SOFTIRQ_TIME_LIMIT flag
Add support to enable RX softirq yield time limits.

Change-Id: I99c7e2515c3aa75dda8ddf3b5fd849ed0063cdf0
CRs-Fixed: 2423622
2019-05-14 18:39:38 -07:00
Abhinav Kumar
dbbfd2c3ff qcacld-3.0: Support asynchronous beacon reporting feature
Add new vendor cmd : QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING.
This subcommand is used to implement asynchronous beacon
reporting feature. Userspace can request driver/firmware to
report details of each beacon received whose bssid is same as
currently connected BSS's mac address. The driver will encapsulate
the details of these beacons as an asynchronous event within this
command id until userspace requests to stop sending beacons.

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

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

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

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

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

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

Change-Id: If27a2393e3f4bb68942f5ebcec0135f57627f16b
CRs-Fixed: 2437988
2019-05-02 08:15:49 -07:00
Yu Wang
7d866f6906 qcacld-3.0: add build flag DYNAMIC_SINGLE_CHIP
Introduces a new build flag 'DYNAMIC_SINGLE_CHIP':
If DYNAMIC_SINGLE_CHIP is defined, which means there
are multiple possible drivers, but only requires one
instance of driver at a time. In such case, leave
MULTI_IF_NAME undefined, no matter what the module
name is, only prepend DYNAMIC_SINGLE_CHIP to names
of firmware/mac/ini files.

Take path of driverdump and ini file for example:
If both MULTI_IF_NAME and DYNAMIC_SINGLE_CHIP are not
defined, the paths are:
driverdump: '/proc/debugdriver/driverdump'
ini: '/<fw_root>/wlan/qca_cld/WCNSS_qcom_cfg.ini'

If DYNAMIC_SINGLE_CHIP is defined as 'qca6174':
driverdump: '/proc/debugdriver/driverdump'
ini: '/<fw_root>/wlan/qca_cld/qca6174/WCNSS_qcom_cfg.ini'

If MULTI_IF_NAME is defined as 'qca6174' and
DYNAMIC_SINGLE_CHIP is not defined:
driverdump: '/proc/debugdriverqca6174/driverdump'
ini: '/<fw_root>/wlan/qca_cld/qca6174/WCNSS_qcom_cfg.ini'

On LA platform, DYNAMIC_SINGLE_CHIP is controlled by
TARGET_WLAN_CHIP and TARGET_MULTI_WLAN:

If more than one WLAN devices are enabled in TARGET_WLAN_CHIP,
and TARGET_MULTI_WLAN is not set to 'true',
DYNAMIC_SINGLE_CHIP will be set to the device name, to
avoid name conflicts of firmware/mac/ini files;
meanwhile, MODNAME is set to 'wlan', then paths for
debugging are not changed.
Otherwise, MULTI_IF_NAME will be defined if requires
multiple instances of driver.

Change-Id: I22ed34d80d3540451bf8b891243c6cdac5a73d7e
CRs-Fixed: 2402432
2019-04-30 22:27:24 -07:00
Sravan Kumar Kairam
0c3f7325a4 qcacld-3.0: Add feature flag for dp rx buffer cache
Add feature flag PEER_CACHE_RX_PKTS to support caching RX
buffers in dp.

Change-Id: Ie8cc7368568554c5320889cbb9ca8db4532cb03e
CRs-Fixed: 2442779
2019-04-26 13:43:06 -07:00
Jianmin Zhu
0332a6ca4a qcacld-3.0: Avoid missing hidden AP when search scan db by ssid
Roam channel map is got by searching current ssid in scan db,
For hidden ssid, probe resp has ssid, but beacon usually has NULL
ssid. we'd better keep ssid from probe resp as long as possible,
don't override with NULL ssid from beacon as WIN's way.

Change-Id: Ia9295832926129a1f9f29785703d44e8268e750d
CRs-Fixed: 2427355
2019-04-18 17:02:10 -07:00
Tiger Yu
8b119e9b61 qcacld-3.0: Use WLAN_FEATURE_DP_BUS_BANDWIDTH instead of MSM_PLATFORM
Use WLAN_FEATURE_DP_BUS_BANDWIDTH to instead of MSM_PLATFORM for better
reading.

Change-Id: Iaed4f77b09b80ca8872a69c832491598db021232
CRs-Fixed: 2423299
2019-04-18 02:33:09 -07:00
Ajit Pal Singh
17634e1e48 qcacld-3.0: Add config to enable/disable RX PN_check offload
Add config to enable/disable RX PN_check offload.
Offload PN check to FW for QCN7605 HL data path.

Change-Id: Ieab4442d73957a9e0314d637a513452616f7a48c
CRs-Fixed: 2433079
2019-04-18 00:28:12 -07:00
hangtian
1c37fb9ccc qcacld-3.0: Memory optimize for QCS403 platform
Memory optimize for QCS403 platform, 1x1 chip. Reduce CE1 htt data
dest ring buffer from 512 to 256, reduce CE2 wmi dest ring buffer from
128 to 64, reduce CE9 & CE10 desg ring buffer from 512 to 64, disable
CE11 pktlog. Note: this change only affect specific WLAN build config for
extremely saving memory, for debug purose, there is another build
selecting default WLAN config for reference HW.

Change-Id: I868e74b09cdb11df3dccaa3f9e051da55724983d
CRs-Fixed: 2432631
2019-04-12 05:20:10 -07:00
Subrat Dash
5f36fbef77 qcacld-3.0: Add gettime of PTP for NON-QC platform
Implement NON-QC platform TSF and TSF PLUS.
Implement gettime of PTP.
Implement TSF PLUS for SAP/GO

CRs-Fixed: 2399624
Change-Id: Id4f41a94256a8f035ae408c168c246569185c534
2019-04-09 11:56:39 -07:00
Sravan Kumar Kairam
d68f27cba8 qcacld-3.0: Add feature flag for nbuff replenish
Add new feature flag for nbuff replenish timer apis to
replace CONFIG_MCL flag.

Change-Id: Ibb65dd28b657085a20b6e3b036e6f96b4851481e
CRs-Fixed: 2421564
2019-04-05 15:59:51 -07:00
Dustin Brown
4a93bb5ffc qcacld-3.0: Enable periodic work tracking
Enable periodic work tracking, recently added in
Id595ba05493ba196e497533ffb4f4e86e33df4b8.

Change-Id: Id33582bf91fe0947c38ee8296ee07d20c8056d98
CRs-Fixed: 2425536
2019-04-04 20:58:49 -07:00
Dustin Brown
c279631e26 qcacld-3.0: Enable delayed work tracking
Enable delayed work tracking, recently added in
Ie02c3577acd443e3f252b9b3a47207e5e2d5fe81.

Change-Id: I6bf718e3c7d9aa72681d0a0ffbabcb304968e229
CRs-Fixed: 2425533
2019-04-04 20:58:44 -07:00
Dustin Brown
ee733ba448 qcacld-3.0: Enable qdf_tracker
Enable the recently added type, qdf_tracker, added in
I3247ace583108139dfb699ca077db3bdf5cfeace.

Change-Id: I8606552354a4aa7945d8e5847f07d4ff89854e95
CRs-Fixed: 2422959
2019-04-04 20:58:36 -07:00
Mohit Khanna
cf139fe9b6 qcacld-3.0: Enable RX_DESC_DEBUG_CHECK debug flag
Enable the flag in kbuild file for SLUB builds.

Change-Id: I4fbf3b775258567d7f9651b52b9f61401fb3a270
CRs-Fixed: 2390775
2019-04-02 11:17:24 -07:00
Arun Kumar Khandavalli
deda5a812c qcacld-3.0: Add support to improve coex logging
Add support to get the various Coex data from the debugfs.
This commit adds the support to get the various coex data:
            * COEX STATE
            * COEX DPWB STATE
            * COEX TDM STATE
            * COEX IDRX STATE
            * COEX ANTENNA SHARING STATE
The specific state information can be read via the debugfs.
Example to read the COEX STATE logging:
            sm6150:/ # cat /sys/kernel/debug/wlan/mws_coex_state
                    vdev_id = 0
                    coex_scheme_bitmap =  0
                    active_conflict_count = 0
                    potential_conflict_count = 0
                    chavd_group0_bitmap = 0
                    chavd_group1_bitmap = 0
                    chavd_group2_bitmap = 0
                    chavd_group3_bitmap = 0

Change-Id: I92272ad7edf44df22730ac0fa992d876840ba632
CRs-Fixed: 2413943
2019-03-29 00:47:53 -07:00
Visweswara Tanuku
0b2e5e8e47 qcacld-3.0: Add config option for Thermal Throttling
Add driver config option for FW_THERMAL_THROTTLE_SUPPORT

Change-Id: I17fc8062cb18ed828578f97a1b24908f68e3a8cf
CRs-Fixed: 2419919
2019-03-28 16:50:16 -07:00
Nirav Shah
6f26133120 qcacld-3.0: Disable sw index inline update for Genoa PCIe
Disable sw index inline update for Genoa PCIe.

Change-Id: I80c6947604dbe61cc68f61a2daefb29e124e0663
CRs-Fixed: 2424876
2019-03-28 09:04:34 -07:00
Dustin Brown
92acafe925 qcacld-3.0: Enable qdf_ptr_hash
Enable the recently added type, qdf_ptr_hash, added in
I7f5fc0c59ed220bde43044e7013b3c8573f1bf39.

Change-Id: I090adcb480e4dbce9934d17c82342c5b53cb8c9a
CRs-Fixed: 2421833
2019-03-26 17:16:33 -07:00
Dustin Brown
128e2d03bd qcacld-3.0: Enable qdf_slist
Enable the recently added type, qdf_slist, added in
I2959f34649a0d8e0b312d9d67c81de17753b9b6c.

Change-Id: I64ab3de7322846d2084f4f4bea01ab69bff52b32
CRs-Fixed: 2418502
2019-03-26 17:16:29 -07:00
Sravan Kumar Kairam
782f9c141c qcacld-3.0: Add feature flag to serialize reorder queue setup
Add feature flag to serialize update reorder queue setup wmi
command to firmware.

Change-Id: I91e3e2631d9a15500f61f5e449db71c047e0021a
CRs-Fixed: 2422772
2019-03-26 05:47:02 -07:00
Sravan Kumar Kairam
7efc0136ea qcacld-3.0: Resolve ipa compilation issue
Resolve ipa compilation issue for targets with config
ipa unified api enable and have kernel version 4.9.

Change-Id: Ibf7c51e32850024ceeb154f18a272044482af5ba
CRs-Fixed: 2422172
2019-03-25 14:24:21 -07:00
Dustin Brown
05a0658f4a qcacld-3.0: Enable qdf_delayed_work
Enable the qdf_delayed_work type, recently added in
I76bc59dcd4222643d70c6a763e5bc4ee9f0a487c.

Change-Id: I6214879680f6251797d1db2986cf10d8f636314c
CRs-Fixed: 2419158
2019-03-24 19:26:47 -07:00
Dustin Brown
9c49a33a7b qcacld-3.0: Enable qdf_periodic_work
Enable the qdf_periodic_work type, recently added in
Iedf5486474fccadb35e146e6d289c27a7c1002d3.

Change-Id: I030db4e25684e4aad7b17fb7d6e41849c05d3857
CRs-Fixed: 2410006
2019-03-21 21:20:01 -07:00
Lin Bai
de6c5537d3 qcacld-3.0: Disable monitor mode for SDXPRAIRIE
Monitor mode feature not required on SDXPRAIRIE, and disable
it to save memory.

Change-Id: I206ef4441cc64218cbdcea08aaa3ce584aa99bf0
CRs-Fixed: 2418590
2019-03-20 22:09:18 -07:00
Ashish Kumar Dhanotiya
f26de9c6bb qcacld-3.0: Enhancement of OS abstraction API's
The API's added in qal & qdf for abstracting the
OS calls are inlined and moved to the OS-specific
src directories.
Remove compilation of these specific files from qcacld Kbuild.

Change-Id: I0416ae721d4c86000672168da396966dd452363c
CRs-Fixed: 2418669
2019-03-20 22:09:13 -07:00
Jiani Liu
a5f17228c1 qcacld-3.0: Set Coex priorities among WLAN/BT/ZB
Coex priority on some scenarios need to be updated.
Host will transfer the chosen coex config attributes
by WMI command.

Change-Id: Ic28ad6af462b305ec9aaf3027d76bce9ae6320b1
CRs-Fixed: 2410493
2019-03-18 13:07:08 -07:00
stonez
2d68648140 qcacld-3.0: Add MPTA helper support
Due to PTA matser 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 periods
to enhance PTA master. This mechanism is called MPTA helper.
Vendor subcommand QCA_NL80211_VENDOR_SUBCMD_MPTA_HELPER_CONFIG
is added to realize this feature. NL attributes
qca_mpta_helper_vendor_attr is used to deliver parameters from
uplayer to host driver.

Change-Id: Ic76130e4b92c88e8034f6a0c6c0447c9c6dee945
CRs-Fixed: 2407801
2019-03-15 07:46:59 -07:00
Harprit Chhabada
3946d611e9 qcacld-3.0: Define the scan related macros in Kbuild
Define the following scan related macros in the Kbuild.
This is part of CONFIG_MCL cleanup, where these macros
are removed from common.

MAX_SCAN_CACHE_SIZE 300
SCAN_MAX_REST_TIME 0
SCAN_MIN_REST_TIME 0
SCAN_BURST_DURATION 0
SCAN_PROBE_SPACING_TIME 0
SCAN_PROBE_DELAY 0
SCAN_MAX_SCAN_TIME 30000
SCAN_NETWORK_IDLE_TIMEOUT 0
HIDDEN_SSID_TIME (1*60*1000)
SCAN_CHAN_STATS_EVENT_ENAB (false)

Change-Id: I43e3a73e2b31c25ea688f913768cfd51d531bbbe
CRs-Fixed: 2412779
2019-03-13 19:41:12 -07:00
bings
2f0f9f056e qcacld-3.0: Replace CONFIG_MCL_REGDB with CONFIG_REG_CLIENT
Do not use MCL in the macro. Use feature name to define macro.

This is for CONFIG_MCL_REGDB cleanup.

Change-Id: I12af832d81815277ec6014ff5047bf960f01534a
CRs-Fixed: 2411995
2019-03-12 00:56:11 -07:00
Ajit Pal Singh
f9a4a38bcf qcacld-3.0: Remove flag CONFIG_PER_VDEV_TX_DESC_POOL
Remove flag CONFIG_PER_VDEV_TX_DESC_POOL.
Legacy per vdev flow control implementation under
CONFIG_PER_VDEV_TX_DESC_POOL was never used in cld3.0 driver.
For a Genoa a new per vdev flow control implementation for HL systems,
was added under the flag QCA_HL_NETDEV_FLOW_CONTROL.
Hence remove CONFIG_PER_VDEV_TX_DESC_POOL and replace it with
QCA_HL_NETDEV_FLOW_CONTROL or QCA_LL_LEGACY_TX_FLOW_CONTROL whereever
applicable.

Change-Id: Ibdf88e60cff7d3be46924ce7605f468781b5b856
CRs-Fixed: 2373790
2019-03-11 11:14:27 -07:00
Krunal Soni
888d401f27 qcacld-3.0: Add ENABLE_VERBOSE_DEBUG macro to Kbuild
Add ENABLE_VERBOSE_DEBUG macro to Kbuild to trigger DP/HAL/HIF
excessive logging controlling mechanism.

CRs-fixed: 2405032
Change-Id: I2af5f9bf39540f952138aa8308401a387fe62bf1
2019-03-07 05:15:15 -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
Qun Zhang
ef65562bcd qcacld-3.0: Support firmware state check through cfg80211 vendor cmd
Add the support to allow user space applications through cfg80211
vendor command to check if wlan firmware is alive or not.

Change-Id: I96bb16e01974f7689493577741a36e3832963996
CRs-Fixed: 2399508
2019-03-01 09:23:49 -08:00
Jeff Johnson
7fe61d82e5 qcacld-3.0: Remove lim_get_session_info() usage
An ancestor of the current driver used mailboxes for communication
between SME and LIM, and serialization/deserialization routines were
used to encode and decode the mailbox messages. This mechanism is no
longer in use, but there are remnants still present.

One such remnant is the use of lim_get_session_info(). This API is
designed to extract the Session ID and the Transaction ID from a
serialized message. However this API is actually being used on
non-serialized messages, and as a result of struct padding by the
compiler it would never return a correct Transaction ID. Since we
should now never be sending serialized messages, remove the use of
lim_get_session_info() and instead directly access the elements in the
underlying structs.

Change-Id: Iadb548c36396226b14b904d3bd952c5b4260ff3b
CRs-Fixed: 2402359
2019-02-23 07:05:03 -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
Jeff Johnson
e77641ea77 qcacld-3.0: Fix DHCP_SERVER_OFFLOAD featurization
When the DHCP_SERVER_OFFLOAD feature is enabled the driver does not
build, so address the build issues.

Change-Id: I42103afd91c4bed2d04f22bdb6159e286ff12fa0
CRs-Fixed: 2399937
2019-02-18 20:50:17 -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
Dustin Brown
dc789027bf qcacld-3.0: Add qdf_status.c to the Kbuild
Change Iaa2efa5f662be014a61a8490c3fab411ec0f2054 added qdf_status.c.
Include this file in the Kbuild.

Change-Id: I263924b4ec82d2e3137f659144251b4a43e5d30f
CRs-Fixed: 2395179
2019-02-12 13:09:46 -08:00
Jeff Johnson
181cca70eb Revert "qcacld-3.0: Enable crypto convergence set key and IE support"
This reverts commit Icf1a1f8150d8503f5527cf23b48dddfd4e9a5439.
Feature is causing WEP regression.

Change-Id: If638c88806d1cb93e92c61b516df464b1f62d678
CRs-Fixed: 2396619
2019-02-12 03:28:10 -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
Dustin Brown
a17cacefdd qcacld-3.0: Add file structure for osif_sync
To better align with current organizational recommendations and allow
API use by os_if/nan, begin moving hdd_*_sync APIs to os_if. In step
one, create the new osif_sync file structure.

Change-Id: Ica94d32028d10d344294d6cc12d91a06efe1ab6c
CRs-Fixed: 2396511
2019-02-11 23:58:05 -08:00
Kiran Kumar Lokere
fa9c89344d qcacld-3.0: Enable crypto convergence set key and IE support
Enable crypto convergence set key and IE support features

Change-Id: Icf1a1f8150d8503f5527cf23b48dddfd4e9a5439
CRs-Fixed: 2358797
2019-02-09 09:45:15 -08:00
Ashish Kumar Dhanotiya
ddeb4d7b6d qcacld-3.0: Move 11d offload to separate file
Currently 11d offload functionality is in reg_host_11d.c and
reg_host_11d.h files and are getting controlled with a
feature flag HOST_11D_SCAN.
HOST_11D_SCAN flag is to enable host 11d scan and 11d offload
feature should not be controlled with this flag.

Move 11d offload functionality to separate files
reg_offload_11d_scan.c and reg_offload_11d_scan.h and
compilation rule for these files.

Change-Id: I9bb73a5d995083cb746b76901a2db0d37a9b9827
CRs-Fixed: 2382525
2019-02-07 07:53:26 -08:00
Krunal Soni
f9ba53dbbc qcacld-3.0: Implement iwpriv cmd to get WLM stats from FW
As per new requirements to debug game latency related issues,
implement an iwpriv command which:
1) sends a bitmask to FW's Wireless Latency Manager module (WLM).
2) receives from WLM a measurement header along with measurement data.
3) converts both the header and data to a hexadecimal encoded string.
4) returns the hexadecimal encoded string to userspace

Change-Id: Ic79c4b757fe2d4e806306750250e3c102745c486
CRs-Fixed: 2388920
2019-02-05 23:44:10 -08:00
Dustin Brown
a19834ba8b qcacld-3.0: Add max vdev/pdev/psoc build config options
To reduce hard coding in the driver, add the following build config
options with defaults to the Kbuild:
 * CONFIG_WLAN_MAX_PSOCS
 * CONFIG_WLAN_MAX_PDEVS
 * CONFIG_WLAN_MAX_VDEVS (supercedes CONFIG_SIR_MAX_SUPPORTED_BSS)
 * CONFIG_WLAN_PSOC_MAX_VDEVS
 * CONFIG_WLAN_PDEV_MAX_VDEVS

Change-Id: I14fce4bf34eb511214ad0b31be72336a2620b960
CRs-Fixed: 2393150
2019-02-04 23:21:01 -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
Sandeep Puligilla
1952217001 qcacld-3.0: Enable MBSSID feature
Enable MBSSID feature through compilation flag.

Change-Id: If8cdfad35bb55d201d4b90f78f57406e404edbf6
CRs-Fixed: 2382918
2019-01-30 14:31:24 -08:00
Yu Wang
6c4599c854 qcacld-3.0: add support for multi ko
To build multiple ko for different wlan targets

CRs-Fixed: 2381715
Change-Id: I50593edd316df33486d208abdb2d1019403a53ae
2019-01-30 00:02:51 -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
hangtian
2b9856fdde qcacld-3.0: Bind ol_rx_thread to perf CPU
When RX_PERFORMANCE is set, bind ol_rx_thread to perf CPU.
Do not update tdls stats and acquire rx_wakelock while
throughput is high, to avoid station drop packets caused
by slow process of ol_rx_data_cb(hdd_rx_packet_cbk).

Change-Id: I411f5ce67b04a70b194b0e8a7f8014b9c2c9bef7
CRs-Fixed: 2373936
2019-01-29 14:31:39 -08:00
Wu Gao
9a94b4e7c6 qcacld-3.0: Cleanup legacy cfg related files
Since all wni cfg is refactored based on legacy new cfg framework, no
legacy cfg files is needed now. Cleanup related files in this change.

Change-Id: If46ae4c59f1010a655aa65e3502fc0c660e33cdc
CRs-Fixed: 2383387
2019-01-29 09:57:44 -08:00
Jianmin Zhu
ca0baaad8a qcacld-3.0: Remove legacy code of CONFIG_SERIALIZATION_V1 part
Remove g_self_recovery_stats and WE_GET_RECOVERY_STAT
Remove configs of CONFIG_SERIALIZATION_V1 part

Change-Id: I82e72f22215b8794517410e0b8892b5adadcf457
CRs-Fixed: 2386839
2019-01-28 01:57:02 -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
Jeff Johnson
0187c628e3 qcacld-3.0: Implement temporary WAR for BT coex issue
Implement a WAR to address a BT coex issue, along with a private ioctl
which can be used to switch the WAR on or off dynamically.

Change-Id: I9d29c141106db479039789d67c45a455e96a118b
CRs-Fixed: 2383150
2019-01-24 12:30:04 -08:00
Jeff Johnson
ba19429916 Revert "qcacld-3.0: Bind ol_rx_thread to perf CPU"
Revert change I4e2a8d7f98907c205cc6988d8af309e7a5515b89 since
it introduced a build failure on some platforms along with an
inappropriately copyright change.

Change-Id: I1450c69211347afaa79642d99dd153f99f349694
CRs-Fixed: 2386432
2019-01-24 12:30:00 -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
hangtian
0ec24dc0ab qcacld-3.0: Bind ol_rx_thread to perf CPU
When RX_PERFORMANCE is set, bind ol_rx_thread to perf CPU.
Do not update tdls stats and acquire rx_wakelock while
throughput is high, to avoid station drop packets caused
by slow process of ol_rx_data_cb(hdd_rx_packet_cbk).

Change-Id: I4e2a8d7f98907c205cc6988d8af309e7a5515b89
CRs-Fixed: 2373936
2019-01-23 06:37:20 -08:00
hangtian
cd2b2860b9 qcacld-3.0: Set cds_ol_rx_thread schedule policy to SCHED_RR
On QCS405 platform, it's observed that cds_ol_rx_pkt_freeq is empty
while receiving UDP packets, driver try to allocate cds_ol_rx_pkt in
ol_rx_data_process but failed. This leads to lots of frames got dropped.
Raise cds_ol_rx_thread scheduler policy to SCHED_RR to compete with
CE tasklet scheduler speed. With this change, found cds_ol_rx_pkt_freeq
is not going to be empty while receiving UDP packets.

Change-Id: I4bee3d69c2754ec6be10a2b623b4ebe8b2c0859b
CRs-Fixed: 2373936
2019-01-18 21:28:30 -08:00
Harprit Chhabada
253e36ad50 qcacld-3.0: Modify Kbuild to add new beacon header file
In wmi new file, wmi_unified_bcn_api.c is added.
Add this file in Kbuild.

Change-Id: I4fdbf041b53b5f1606d324714f01088742a9307f
CRs-Fixed: 2366772
2018-12-26 20:27:24 -08:00
Rachit Kankane
2a3fd3981a qcacld-3.0: Enable FT_IEEE8021X and FT_PSK for Genoa
Enable FEATURE_WLAN_FT_IEEE8021X and FEATURE_WLAN_FT_PSK for Genoa as
targeted kernel version is 4.4.

Change-Id: I599be887b0021e7f53622c840dc76d5e3b47376a
CRs-Fixed: 2359886
2018-12-26 07:47:30 -08:00
Ajit Pal Singh
25caf99381 qcacld-3.0: Enable QCN7605 support in Genoa USB config files
Enable QCN7605 support in Genoa USB config files

Change-Id: I540ab3aeaee40841696a26612c2d69f151946113
CRs-Fixed: 2369619
2018-12-26 01:21:09 -08:00
chenguo
ac840e5400 qcacld-3.0: Enable AC based flow control by default
Enable QCA_AC_BASED_FLOW_CONTROL in Kbuild file for for all
lithium platform, including HST.

CRs-Fixed: 2371232
Change-Id: I7e755d6211106f4a5c8e9d87905f6425ece4c5c3
2018-12-22 05:23:16 -08:00
Kiran Kumar Lokere
325de9f293 qcacld-3.0: Disable the WLAN_CONV_CRYPTO_IE_SUPPORT feature
Disable the WLAN_CONV_CRYPTO_IE_SUPPORT feature.

Change-Id: I0aa241ab8b6879809ac4669585cdfca6c23ab9ef
CRs-Fixed: 2369342
2018-12-19 04:56:49 -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
Harprit Chhabada
4691a470a1 qcacld-3.0: Cleanup scan active, passive and rest concurrent dwell time
Cleanup Scan active, passive and rest concurrent dwell time CFG/INI
references from legacy code

Change-Id: I9b33a578d0075d5b34a2f45fbe0273abb6da78ae
CRs-Fixed: 2363174
2018-12-14 19:05:45 -08:00
Dustin Brown
d315c4570c qcacld-3.0: Enable talloc feature
Enable the talloc feature, recently added in
I6308c96061e125b2e5a9c424ec2d2298c1c503ab.

Change-Id: I37c48d63dd1598710611d4c2ab5d26fec92c2250
CRs-Fixed: 2359468
2018-12-13 16:45:39 -08:00
Dustin Brown
6fb7a754ca qcacld-3.0: Enable qdf hashtable feature
Enable the QDF hashtable feature, recently added in
I07999e5fc8116e67b3850b866ced20af64342055.

Change-Id: I1dcdee7d960e87bda980e3d6e646e22149208dad
CRs-Fixed: 2359334
2018-12-13 16:45:34 -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
Arunk Khandavalli
521c005600 qcacld-3.0: Initial place holder for dsc stub functions
Initial change to hold the dsc stub functions

Change-Id: Id150755e7685c1a06a509b1cf2b10480c35a8bf4
CRs-Fixed: 2362316
2018-12-12 01:45:35 -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
Dustin Brown
ebb16d1886 qcacld-3.0: Enable qdf types tests
Enable the unit test cases for qdf_types, recently added in
I7536a973141a6311662390e42da749f48239bef8.

Change-Id: I4264696d61443acf1bd0993f91de06119471b25f
CRs-Fixed: 2359296
2018-12-11 17:25:55 -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
Arunk Khandavalli
ca56d4b488 qcacld-3.0: Add Host Driver support for Beacon reception stats
Implementation of Host driver support to collect per Vdev Beacon
reception  Stats from firmware and display the stats in sysfs.

	"adb shell cat /sys/class/net/wlan0/beacon_stats"
vdev id: 0
Total Beacon Count: 255
Total Beacon Miss Count: 21
Beacon Miss Bit map [0x800] [0x10000000] [0x22000400] [0x100]
[0x84000000] [0x4030002] [0x5034000] [0x28084]

Change-Id: Iadd31042320f7815a6a6f4733f5393dba93b5b3e
CRs-Fixed: 2360913
2018-12-11 12:27:05 -08:00
Ajit Pal Singh
6f5f58969c qcacld-3.0: Kbuild: usb: Add pld_usb_cnss flag
Add cppflag for enabling PLD_USB_CNSS

Change-Id: Ibd10c8e7029746d611dfae9642d3b8112aeac42f
CRs-Fixed: 2349229
2018-12-08 07:40:41 -08:00
Ajit Pal Singh
721004499c qcacld-3.0: genoa: Add config for max beaconing entities
Add config option for max beaconing entities for Genoa.

Change-Id: I4b38911b3a0e4a032baa9d101c21e4f400fac755
CRs-Fixed: 2360873
2018-12-07 04:28:10 -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
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
Tiger Yu
13cdcc4194 qcacld-3.0: Change the policy & priority of RX thread
Change the policy & priority of RX thread to improve the RX throughput for
Specified platform.

Change-Id: Ie9df5de6f34d75264c4f3b7bdcb59ab92845a128
CRs-Fixed: 2354502
2018-11-30 06:45:09 -08:00
Kiran Kumar Lokere
ce2d459527 qcacld-3.0: Enable crypto component support for security IEs
Enable crypto component support for security IE checks and IE
generation.

Change-Id: I59a412ad5ff26ddedb9d827cb7ce0cbf59aa18a1
CRs-Fixed: 2337208
2018-11-22 04:18:09 -08:00
Tiger Yu
287056c463 qcacld-3.0: Enable scatter gather feature for msm8996 platform
Enable the scatter gather feature for msm8996 platform to improve
the TCP TX throughput.

Change-Id: I634f48baf2f1f57aa89030acab37ada798ce7d2c
CRs-Fixed: 2344092
2018-11-15 22:00:19 -08:00
Rakshith Suresh Patkar
384a28ae48 qcacld-3.0: Add timestamp debug info in ol_tx_desc_t
Add descriptor timestamp debug info in ol_tx_desc_t and
add APIs to set these values.

Change-Id: I686fccff4268811474630dbea8369fabe82d1517
CRs-Fixed: 2333654
2018-11-10 04:02:04 -08:00
Dustin Brown
93abc2cb79 qcacld-3.0: Enable excessive logging detection
Excessive logging detection was recently added via
If83c6dfccb9d191b02a3a7166b065c0a0704f969. While we would like to enable
this feature with a maximum number of logs per second of 100, there are
still a few outstanding problem areas, like dumping stats via IOCTL.
Instead enable the feature with a max of 500 to catch egregious
regressions, and plan to decrease this to 100 or less once the problem
areas are addressed.

Change-Id: I5b880c2354ec4828e1773eeb43de43a4649d4803
CRs-Fixed: 2340011
2018-11-08 13:39:22 -08:00
Tiger Yu
24ca3362c4 qcacld-3.0: Enable the scatter-gather feature
Enable the scatter-gather feature for wlan interface, if the wlan
interface is binding to the bridge, which might enable SG & TSO feature
for the bridge and improve the TCP TX throughput much better.

Change-Id: I26101756266878f9f41c5dc2d0b5dad189b44ee1
CRs-Fixed: 2246512
2018-11-06 21:07:33 -08:00
Arif Hussain
6e4d14adf7 qcacld-3.0: dfs: Remove zero cac files from build
Remove zero cac files from build

Change-Id: Ic1864a4d02e17458e9b2620e675b59c1b9066ced
CRs-Fixed: 2343692
2018-11-01 17:24:02 -07:00
Nirav Shah
3422e03e10 qcacld-3.0: Compile hif_main_legacy file for non-lithium architecture
Compile hif_main_legacy file for non-lithium architecture and
disable FASTPATH for lithium architecture.

Change-Id: Idd8623612c057380e9bd9704be0538923f37be08
CRs-Fixed: 2332442
2018-10-29 03:11:40 -07:00
Nirav Shah
179b986fb0 qcacld-3.0: Fix compilation issue in link layer stats featurization
Fix compilation issue in link layer stats featurization

Change-Id: I97e7fd08040d11bf5ee4acc07fd81723b5687e62
CRs-Fixed: 2317225
2018-10-25 01:37:50 -07:00
Venkata Sharath Chandra Manchala
1619b73955 qcacld-3.0: Add config parameter to compile HALhwio.h file
Add SCALE_INCLUDES CONFIG parameter to compile HALhwio.h for QCA6390
as msmhwio.h file is now deprecated.

Change-Id: I4a883101a0ba15d2ab1efcd7bde312e22099a693
CRs-Fixed: 2332023
2018-10-22 15:06:37 -07:00
Krunal Soni
e9c12f5aab qcacld-3.0: Add new INI/CFG infrastructure for Policy Manager
Policy Manager component needs to adopt a new INI/CFG
infrastructure.

Provide a new infrastructure and remove old INI/CFGs related
to policy manager component.

CRs-Fixed: 2324393
Change-Id: Ia16845c2aef3c5877b0b164fcef13fe7cd41c736
2018-10-17 14:27:36 -07:00
Yuanyuan Liu
49948f1d08 qcacld-3.0: Remove deprecated ANDROID_BUILD_TOP for new SP
ANDROID_BUILD_TOP variable is being deprecated and thus all paths are
assumed to be relative to the top directory.
However, this is causing problem when some of the paths are constructed
in the Android build system and used in the non-Android makefiles that
are usually executed NOT at the top directory but at a sub directory
using -C option. As a result, the relative path from the Android build
system become invalid in the non-Android makefiles.
In order to overcome the restriction, ANDROID_BUILD_TOP is manually
constructed when invoking the non-Android makefiles by using $$(pwd).
The non-Android makefiles are expected to construct the absolute path
by prepending ANDROID_BUILD_TOP to any path that came from the Android
build system.
Specifically, Kbuild is modified so that ANDROID_BUILD_TOP is prepended
to WLAN_ROOT and WLAN_COMMON_INC to make them absolute paths.

Change-Id: Ic34de7a2bc407153085eb3eb154d6dd71f04eedb
CRs-Fixed: 2328210
2018-10-17 02:07:03 -07:00
Qiwei Cai
dcb73b0132 qcacld-3.0: Featurize MCL only WMI APIs
Featurize MCL only WMI APIs by compiling them as a separate source.
It enables profiles/configs to selectively compile the WMI APIs
based on whether the feature is required or not.
Featurize WMI APIs and TLVs that are specific to MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)

Change-Id: I3b005b8f60491c7d27cf221b7505116e1b9c1a38
CRs-Fixed: 2333916
2018-10-16 13:40:16 -07:00
yuanl
2746f07242 qcacld-3.0: expose TSF to user space by file system on Vipertooth
Enable TSF for Adrastea arch on Vipertooth chip firstly and
expose TSF time mapping via file system

CRs-Fixed: 2320218
Change-Id: Ifda0d8035717ad21edb1a393ef32f1157ab59105
2018-10-13 15:23:10 -07:00
chenguo
5958e5ace7 qcacld-3.0: Enable AC based flow control by default
Enable QCA_AC_BASED_FLOW_CONTROL in Kbuild file for QCA6290_AX.

Change-Id: I183c75c1d7e98df230bd38e09eb67182ab6f13da
CRs-Fixed: 2323953
2018-10-09 06:12:13 -07:00
Liangwei Dong
2fce71693c qcacld-3.0: Add 11d host scan build config
Add build flags CONFIG_HOST_11D_SCAN
to enable 11d host scan.

Change-Id: I8888a5f8df7645760fa9c31fcb8a3a191da37a9c
CRs-Fixed: 2314832
2018-10-09 04:05:11 -07:00
Nirav Shah
93b3235b38 qcacld-3.0: Enable QCA_WIFI_3_0 flag based on CONFIG_WIFI_3_0_ADRASTEA
Enable QCA_WIFI_3_0 flag based on CONFIG_WIFI_3_0_ADRASTEA
and not based on CONFIG_ICNSS to enable it in Genoa.

Change-Id: I819fcbb637c4ed302cf71d32e83b113911270750
CRs-Fixed: 2317206
2018-09-25 15:33:33 -07:00
Jianmin Zhu
c2eae9c566 qcacld-3.0: MCL change after serialization enhancement
1. Set all MCL cmds as blocking cmds.
2. Rename WLAN_SER_CMD_STOP_BSS to WLAN_SER_CMD_VDEV_STOP_BSS.
3. Add new binary files and remove old binary files in Kbuild.
4. Disable CONFIG_SERIALIZATION_V1 in Kbuild, switch to new
   serialization code.

Change-Id: I46f876e4cbc31881ca0559e4705cddf4a26a46c1
CRs-Fixed: 2315411
2018-09-20 13:10:34 -07:00
Nirav Shah
af1260fb4d qcacld-3.0: CE services separation for legacy and lithium architecture
CE service file includes APIs for both legacy and lithium architecture.
Legacy service APIs compiled for lithium architecture.
Separate the CE services into legacy and srng and selectively compile
required files.

Change-Id: Iad6b6c7cef7520e1e7b74da83805290eddcbabf6
CRs-Fixed: 2304556
2018-09-17 21:29:08 -07:00