Commit Graph

811 Commits

Author SHA1 Message Date
Amruta Kulkarni
1e49d2c36e qcacld-3.0: Prevent link down for SAP on DFS channel
For SAP on DFS channel, the PCIe link down should be prevented
so that HalPhy can access DDR memory to report Radar found event.

Change-Id: Ia256d5df4d59071830d09c3f4821d73196327128
CRs-Fixed: 2740443
2020-08-12 13:56:26 -07:00
Chaoli Zhou
7786bdec47 qcacld-3.0: Enable MULTI_IF_NAME for dual driver case
Update MULTI_IF_NAME while DYNAMIC_SINGLE_CHIP is not
"wlan" to support dual wlanhost driver load case

Change-Id: Id7c4e7b6e8c14fe0ba64b3187ec46f7b248058cb
2020-08-12 04:33:32 -07:00
Manjunathappa Prakash
dfed37f892 qcacld-3.0: Add config flag to deliver defrag frames
Add config flag to deliver defrag frames without REO reinjection.

Change-Id: If18adecc5b1f48c42ac116bc66dfa26eb73122ac
CRs-Fixed: 2745406
2020-08-10 20:29:39 -07:00
Will Huang
73574ad2d8 qcacld-3.0: Define max number of keep alive pattern at one place
Currently there are 2 places where max number of keep live pattern
are defined:
1.  #define WMA_MAXNUM_PERIODIC_TX_PTRNS 6
And it can be configured by CONFIG_CFG_MAX_PERIODIC_TX_PTRNS.
2. #define MAXNUM_PERIODIC_TX_PTRNS 6
And it is hard coded value.

It is possible to have different values defined on some platform,
so we might give tgt_cfg->num_keep_alive_pattern value as 2,
but still allow more than 2 keep alive patterns adding to target,
where assert might happen.

Fix it by defining max number of keep alive pattern at one place.

Change-Id: I70ec3fa2e56a39cf8086750d966d95e41b2b75a7
CRs-Fixed: 2745443
2020-08-10 06:00:35 -07:00
Yu Tian
636f42c23a qcacld-3.0: Allow drop pkts when pending is large
On some cases, dp_rx_thread can not handle nbufs in time,
then a large number of packets are pending in
rx_thread->nbuf_queue, which run out of system memory at
last and failed to malloc new buffers for refill buffer ring,
fw crash is encountered. To avoid this, drop RX packets when
the pending number becomes large.

Change-Id: Ie4e001dc584821cf68253aa3a15a5fd72394c736
CRs-Fixed: 2737181
2020-08-06 04:24:45 -07:00
Ashish Kumar Dhanotiya
bcdfd80f6b qcacld-3.0: Add connect-disconnect infra for connection manager
Add connect, disconnect and roam files for connection
manager infrastructure

Change-Id: Ia0f624db11d4ba52a4d7f79c19c3be8c37121f88
CRs-Fixed: 2739397
2020-08-05 06:33:09 -07:00
Saket Jha
c2c66700ac qcacld-3.0: Add PM QoS CPU affinity support on 5.x kernel
Enable PM QoS support for 5.x kernel by adopting dev PM QoS APIs to
request device structures for CPUs and then requesting QoS on those CPU
devices.

Change-Id: I9c7565b44a72145e11178fe360f413ff578142cf
CRs-Fixed: 2734025
2020-08-05 04:23:58 -07:00
Utkarsh Bhatnagar
e2df5dee72 qcacld-3.0: Add config feature CONFIG_WAPI_BIG_ENDIAN
Add configuration feature CONFIG_WAPI_BIG_ENDIAN to
enable or disable BIG ENDIAN WAPI configuration based
on device type.

This was done as newer chipset firmware expects the
WAPI seq in big endian format and to maintain backward
compatibility with the older chipset firmware.

Change-Id: I972ca89e601b706e53408b0751c265d0aa311029
CRs-Fixed: 2746749
2020-08-03 22:51:23 -07:00
Karthik Kantamneni
4a7bc29161 qcacld-3.0: Enhance logging in RX path to check refill failures
Enable logging feature which helps to check rx ring refill failure.

Currently rx ring refill count is updated same time from multiple
places without protection, so use atomic variable for refill count.

CRS-Fixed: 2740225
Change-Id: Icd88d351cb15d0f18edf0b986e4de95dbe4e6989
2020-08-02 00:02:47 -07:00
Manikanta Pubbisetty
b5334b1bf6 qcacld-3.0: enable RX buffer pool for QCA6750
Enable RX buffer pool support for QCA6750. This will be utilized
during low memory conditions.

Change-Id: I8cee1e0996c81f3c4c408a22923d5107f4d014c3
CRs-Fixed: 2731507
2020-08-01 13:13:15 -07:00
bings
1939a20df7 qcacld-3.0: Split wlan.ko into wlan_resident.ko and wlan.ko
Module is saved in specified memory location when loading. In some
third platform, after rmmod/insmod wlan.ko for a while, wlan.ko may
fail to load due to memory fragmentation.

Split wlan.ko into wlan_resident.ko and wlan.ko. Keep wlan_resident.ko
in kernel all the while and trigger insmod/rmmod only on wlan.ko.

wlan_resident.ko contains all the module realization while wlan.ko
only contains module init/exit.

Change-Id: Iaeb6d810293cc000de8d6ec1df5cd985cef0c317
CRs-Fixed: 2727941
2020-07-31 14:12:51 -07:00
Rakesh Pillai
d80422e788 qcacld-3.0: Featurize dynamic rx agggregation feature
Dynamic rx aggregation feature depends on the context
id which is obtained from the packet context block.
This context id is invalid when this feature is not
enabled, and hence can lead to out of array access/write
leading to memory corruption.

Fix this issue by not using the context id when the dynamic
rx aggregation feature is not enabled.

Change-Id: Ie551217409b0f5aa2f704f9c617949e0d42a74d0
CRs-Fixed: 2742653
2020-07-31 09:53:45 -07:00
Abhishek Ambure
0f8ab4e3cb qcacld-3.0: Enable FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT for LITHIUM
To support "no dbs intraband MCC" feature for LITHIUM target, enable
FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT flag in Kbuild.

Change-Id: I2f94d99fae0ec31dd8e5056397e59be3478b7540
CRs-Fixed: 2739080
2020-07-28 15:41:09 -07:00
Rakesh Pillai
9cde7595c4 qcacld-3.0: Enable rx descriptor nbuf sanity for perf build
Enable the sanity check for rx descriptor nbuf
even for the perf build.
Also enable the rx rings history.

Change-Id: Ib127029009d0657ea51d3592af6a42f3de210c16
CRs-Fixed: 2739120
2020-07-25 06:02:25 -07:00
Abhishek Singh
e34b54a7b7 qcacld-3.0: Remove older scan filter params
Remove older unused scan filter params and code related to it.

Change-Id: Ia1c9612e2be22ef2dada8be01cc404ec15318359
CRs-Fixed: 2737925
2020-07-22 21:35:03 -07:00
Wu Gao
c455bb3201 qcacld-3.0: Rename file about enhanced cfr
This Kbuild change is about rename file of enhanced cfr.

Change-Id: I78d12998d5d320be7cd1e033dc04e88aa7402ddd
CRs-Fixed: 2734636
2020-07-20 19:26:24 -07:00
Manjunathappa Prakash
73abd412bb qcacld-3.0: Handle raw frames and invalid flow_idx frames
Enable handling to drop the raw Rx frames as both driver and stack
is not expected to handle them.
Handle invalid FISA flow index which is out of valid FISA flow_id range,
This can happen if we are looking at wrong or invalid TLV, in such case
it is OK deliver frame without FISA aggregation.

Change-Id: I746d4ad1ea5ba6d60cbadddb55803626abfb2868
CRs-Fixed: 2733978
2020-07-20 04:46:39 -07:00
Huashan Qu
7277418aa5 qcacld-3.0: Move rso related process to connection manager [PART 1]
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:

csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.

Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
2020-07-18 18:13:31 -07:00
Srinivas Girigowda
987834feb7 qcacld-3.0: Rename file name and function name for sysfs 'stats'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'stats'

Change-Id: Iffc390d4865977f9eff72a6a4bcf708c014f482e
CRs-Fixed: 2731064
2020-07-17 23:59:38 -07:00
Srinivas Girigowda
d3255f634e qcacld-3.0: Rename file name and function name for sysfs 'range_ext'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'range_ext'

Change-Id: Icf7ebbbcf1b8b219e64d1c9b98f1946069f91322
CRs-Fixed: 2731064
2020-07-17 23:59:34 -07:00
Srinivas Girigowda
d39a796a98 qcacld-3.0: Rename file name and function name for sysfs 'wlan_dbg'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'wlan_dbg'

Change-Id: I7d0e7b67afa701abd64efb62012c218ee4ab158d
CRs-Fixed: 2731064
2020-07-17 23:59:30 -07:00
Srinivas Girigowda
64d1d78340 qcacld-3.0: Rename file name and function name for sysfs 'fw_mode_config'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'fw_mode_config'

Change-Id: Ia389fa8807bbd0e58de58c503d9f3bbbef9ec707
CRs-Fixed: 2731064
2020-07-17 23:59:26 -07:00
Srinivas Girigowda
837ca7fad6 qcacld-3.0: Rename file name and function name for sysfs 'scan_config'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'scan_config'

Change-Id: I6621cbe5571541d073072ef9e0348d771fd3bc4a
CRs-Fixed: 2731064
2020-07-17 23:59:22 -07:00
Srinivas Girigowda
36b00847fc qcacld-3.0: Rename file name and function name for sysfs 'radar'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'radar'

Change-Id: If13effc45323f5a286d8aeb7a8e27848cb3e618b
CRs-Fixed: 2731064
2020-07-17 23:59:18 -07:00
Srinivas Girigowda
c9933da318 qcacld-3.0: Rename file name and function name for sysfs 'tx_stbc'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tx_stbc'

Change-Id: I274c1405fab7385202431b48d65603c38783222b
CRs-Fixed: 2731064
2020-07-17 23:59:14 -07:00
Srinivas Girigowda
fe1406f727 qcacld-3.0: Rename file name and function name for sysfs 'tdls_peers'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tdls_peers'

Change-Id: If6aa504dccd22ce0ccff11f3d73ffb1eedb5895c
CRs-Fixed: 2731064
2020-07-17 23:59:11 -07:00
Srinivas Girigowda
82f61cee0f qcacld-3.0: Rename file name and function name for sysfs 'sta_info'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'sta_info'

Change-Id: Ibb13c1496ea1dd5bc3b024b99414ac8d72db3be6
CRs-Fixed: 2731064
2020-07-17 23:59:07 -07:00
Srinivas Girigowda
0770581b30 qcacld-3.0: Rename file name and function name for sysfs 'temperature'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'temperature'

Change-Id: I8f31d59be9954d3ffe1ff7c11d16dd24b9e2644d
CRs-Fixed: 2731064
2020-07-17 23:59:03 -07:00
Srinivas Girigowda
57d6d48573 qcacld-3.0: Rename file name and function name for sysfs 'monitor_mode_channel'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'monitor_mode_channel'

Change-Id: Ic207d6e29c14a0b33ed4982d533a78729d32a4ba
CRs-Fixed: 2731064
2020-07-17 23:59:00 -07:00
Srinivas Girigowda
5883ffbcba qcacld-3.0: Rename file name and function name for sysfs 'channel'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'channel'

Change-Id: I9c73e572bdb80edc3431180448dffd9843d6a720
CRs-Fixed: 2731064
2020-07-17 23:58:56 -07:00
Rakesh Pillai
4009119bf0 qcacld-3.0: Enable rx descriptor cookie invalidate
Enable the build flag to check and invalidate
the rx descriptor cookie

Change-Id: Idb2f55ac876025dceff28778a40b5468bf9688b9
CRs-Fixed: 2730961
2020-07-17 23:58:52 -07:00
Sandeep Singh
0615ee270f qcacld-3.0: Enable both SNOC and IPCI PLD layer for ICNSS2
ICNSS2 platform driver is used for moselle and adrastea which uses
IPCI and SNOC PLD layer, respectively. Add support to enable both
for ICNSS2 based to target flag.

Change-Id: I06fbacade99b09c9ea7347aa28e10968eaeedaa8
2020-07-13 23:39:24 -07:00
Wu Gao
7a5b681708 qcacld-3.0: Add wow support for TDLS
Prevent wow if TDLS is started, allow wow if TDLS link disabled. This
feature is enabled only if lithium plaform isn't drv supported.

Change-Id: Ie66d62cb139fe9a1d292925a78f2dd861f16ef69
CRs-Fixed: 2716922
2020-07-10 05:38:44 -07:00
Guisen Yang
f1d329345f Revert "qcacld-3.0: Include config file only after override"
This reverts Change-Id: I11164995061ee057dfcb3abaef2af2f2d33bfd23.
We need the override configuration in defconfig file. The reverted
change actually disabled the override mechanism. Revert this
change so that the override config will take effect.

Change-Id: I0ffcdcb112e4054dbc2961ba414371fbe5a9e1c3
CRs-Fixed: 2714158
2020-07-09 03:03:42 -07:00
Abhishek Singh
4b9273d712 qcacld-3.0: use crypto from vdev to fill the scan filter
use crypto from vdev to fill the scan filter.

Change-Id: I2c4bd9b85d9dac14c4d331a84cc7f3307d06818d
CRs-Fixed: 2718080
2020-07-08 00:09:34 -07:00
Mahesh Kumar Kalikot Veetil
5552a6e7bf qcacld-3.0: Add microseconds to BUILD_TAG
Some of the post processing tools need high resolution timestamps in the
build tag to differentiate WLAN driver modules in the same build. Add
current time with nanoseconds rounded to the first 6 digits, which is
microseconds. Also fix the 'date' command format.

e.g. date -u +'%F %T.%N %Z'
     2020-06-25T17:40:43.919224370 UTC

Change-Id: Ie2a8af4dad2aead5738a4c710a201fe9674999f7
CRs-Fixed: 2719008
2020-07-07 16:23:09 -07:00
Pragaspathi Thilagaraj
6b525a4f72 qcacld-3.0: Add support to compile connection manager STA+STA roam API
Enable compilation of the connection manager roam files with
Kbuild changes.
Add new API to store and retrieve the firmware scan channels at
mlme. Also add initial support to post SET_PCL command through
lim, so that it is not sent before ROAM init command.

Add changes to restrict connection of the 2nd STA to
channels on the other band of the 1st STA connected band.
This is done by filling only the allowed band channels in
the scan filters for the 2nd STA connection. If only
1 STA is active, it is allowed to connect on any band.

Add header gaurds for missed header files:
wlan_cm_tgt_if_tx_api.h
target_if_cm_roam_offload.h

Change-Id: Id2bce12b9663ed635ea46164169b088461aab870
CRs-Fixed: 2720341
2020-07-07 07:24:47 -07:00
Chaoli Zhou
275c200717 qcacld-3.0: Fix compile error if disable CONFIG_WDI_EVENT_ENABLE
Do not compile ol_txrx_event.c if set CONFIG_REMOVE_PKT_LOG=y
and CONFIG_WDI_EVENT_ENABLE=n with Hasting

Change-Id: I475e1d4bda818cdef66d961cb95d0193b27029f6
2020-07-07 07:24:43 -07:00
Mohammed Siddiq
335ba9e938 qcacld-3.0: Add code to support modularizing ICNSS ICNSS2 and CNSS2
Add code to support modularizing ICNSS, ICNSS2 and CNSS2.

Change-Id: I696715592f6000f2a64f8940f324b699acd5fcf1
CRs-fixed: 2685412
2020-06-29 07:38:04 -07:00
gaurank kathpalia
56993c8df9 qcacld-3.0: Add make file changes for connection manager
Add make file changes for connection manager.

Change-Id: Ifea0426e3ac4a2c43ce64967375cc5f99855394f
CRs-Fixed: 2713471
2020-06-27 06:18:14 -07:00
gaurank kathpalia
67b87cbde5 qcacld-3.0: Move BSS scoring logic to connection manager
Move bss scoring logic to connection manager.

Change-Id: Ie7639853dec303133705c3394bf0577670000c21
CRs-Fixed: 2707108
2020-06-26 11:08:47 -07:00
Yeshwanth Sriram Guntuka
0c04652083 qcacld-3.0: Add sysfs entry to dynamically control GRO
Add dp_aggregation sysfs entry under the wifi sysfs
directory to dynamically control aggregation in the
rx direction.

Change-Id: Ic7b13806f5fbd19fe5c56cabdf71d032b730448c
CRs-Fixed: 2718131
2020-06-25 16:46:47 -07:00
Rachit Kankane
9e015a6b45 qcacld-3.0: Define flag for no interband MCC
Define new Kbuild flag FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT

Change-Id: I3fe79b1f77aa1432ab38f9c42faa3f37cffb84e6
CRs-Fixed: 2711491
2020-06-25 13:17:47 -07:00
Pragaspathi Thilagaraj
bd697c1786 qcacld-3.0: Move sta related wmi functions from cmn to qcacld
Move STA specific wmi functions from qca-wifi-host-cmn to
qcacld-3.0 under components/wmi. Below is the wmi source tree
	qcacld-3.0 \
	    - components \
		-wmi \
		  src\
		  inc\

wmi_tlv_attach() will call the STA specific attach functions
defined in wmi_unified_priv.h.

Change-Id: Ia99e12d79500add94791db4447e1f6dbf44c99af
CRs-Fixed: 2714589
2020-06-25 03:49:39 -07:00
Vevek Venkatesan
5f2f624d8c qcacld-3.0: add hif_runtime_pm related files in Kbuild
Add hif_runtime_pmrelated files in Kbuild to be included
in the driver compilation.

Change-Id: Ifa392a517560a9391419da6733211f52aceb1170
CRs-Fixed: 2699439
2020-06-24 03:34:34 -07:00
Abhishek Ambure
ffc2837211 qcacld-3.0: Enable spectral scan for QCA6750
Kbuild change to enable spectral scan for QCA6750 target.

Change-Id: I78e3e1220e46f62c71e838fe15cad35f2e5dbf75
CRs-Fixed: 2702866
2020-06-18 03:43:53 -07:00
Nisha Menon
46b0fb5f0c qcacld-3.0: Add node to sysfs to print wlan mem usage
The wlan_mem_stats node will print the DMA, SKB and heap
memory allocated in the wlan host driver. This is applicable
to perf and defconfig builds.
File path to new node is:
/sys/kernel/wifi/wlan/wlan_mem_stats

Change-Id: Ic05423d362de1ef07a3ecbdd6408a7226e2a3c2f
CRs-Fixed: 2680360
2020-06-11 02:04:35 -07:00
Ashish Kumar Dhanotiya
0e86934fd2 qcacld-3.0: Add driver command to dump function call mapping
Add driver command support to dump all the function call
mapping which is cached in global buffer.

Change-Id: I03b2162ccda171005e6fa8a7bb09cbf9c4819421
CRs-Fixed: 2677976
2020-06-09 21:53:25 -07:00
Lincoln Tran
e4f18a9065 qcacld-3.0: Add logic to handle country code change
Update the HDD callback to check for phymode change or
channel change when country code updates and stop/restart
the adapter accordingly. Include cases for STA mode,
SAP mode, P2P-CLI mode, and P2P-GO mode.

Add conditional compilation flag for MCC specific API in
qcacmn.

Change-Id: I88edb401146e3cef48d757393f89fa48cb6ac895
CRs-fixed: 2658294
2020-06-07 12:29:02 -07:00
Dundi Raviteja
9fca084961 qcacld-3.0: Add tgt layer for packet capture mode
Add tgt layer for packet capture mode.

Change-Id: I8e69701c69d6ec1989e36cb09826c1c0bf3f51e7
CRs-Fixed: 2674337
2020-06-02 13:32:50 -07:00