Commit Graph

631 Commits

Author SHA1 Message Date
Nirav Shah
2b3843e027 qcacld-3.0: Make tx resource hi/low threshold configurable
Make tx resource hi/low threshold configurable through
config files and update hi threashold from 7.5% to 8%.

Change-Id: I2e52b7910caedf6e0af24242b79e1e9d42c6b85b
CRs-Fixed: 2548100
2019-11-05 09:26:45 -08:00
Ashish Kumar Dhanotiya
94ffbd1079 qcacld-3.0: Remove cds_queue.h and queue.h from driver code
Currently MCL and WIN both have separate queue.h
files with the same declarations and definitions.
As part of cleanup single queue.h is created in cmn code,
use this newly created queue.h file instead of MCL
specific queue.h file.

Change-Id: I91619e5fff2040cb588cd0413cb42d5d7469f41f
CRs-fixed: 2505800
2019-11-05 02:12:22 -08:00
Nirav Shah
d1fce91a9c qcacld-3.0: Increase value of AST skid limit for QCN7605
Increase value of AST skid limit for QCN7605 to avoid
peer create failure in FW in case of AST hash collision.

Change-Id: If931229d3b1458556a6e5c1023fb646b7274bedd
CRs-Fixed: 2517716
2019-11-02 19:43:54 -07:00
Jianmin Zhu
bc99999c41 qcacld-3.0: Don't register vdev start stop delete event in wma_open
Vdev start/stop/delete events have been registered in
target_if_vdev_mgr_wmi_event_register in MCL/WIN common code.

Change MACRO name SERIALIZE_VDEV_RESP_TIMER to
SERIALIZE_VDEV_RESP.

Change-Id: I4d54a4755d7311b488f12f46a73db7e4645a4e0b
CRs-Fixed: 2554732
2019-11-01 08:16:46 -07:00
Venkata Sharath Chandra Manchala
cf57262302 qcacld-3.0: Enable FEATURE_TSO_STATS
Enable FEATURE_TSO_STATS based on
FEATURE_TSO flag.

Change-Id: I2fbeac180f6bb0988a6e3660936659ea1f5da4a4
CRs-Fixed: 2392266
2019-10-28 07:11:27 -07:00
Arun Kumar Khandavalli
a43590e897 qcacld-3.0: Move psoc object to common component
Move to the common psoc object and retrieve the cfg ini
information from the legacy implementation.

Change-Id: I38147c748796550f2adede44b681559a4f329fbf
CRs-Fixed: 2547536
2019-10-26 11:55:08 -07:00
Venkata Sharath Chandra Manchala
8193ec70e9 qcacld-3.0: Enable HIF_RECORD_PADDR
Record iova and physical address for every
buffer posted to CE.

Change-Id: I3afb95166e4c571bffc84699df5df20f952729ce
Crs-Fixed: 2548850
2019-10-25 01:22:37 -07:00
Naman Padhiar
c52e7fd605 qcacld-3.0: Add PLD layer for WHUNT
WHUNT is host unit testing framework which simulates
firmware. Add a PLD wrapper layer for this virtual device.

Change-Id: I1d09b8a18a25b414b0c1d56723cc5687f2bfe297
2019-10-22 03:36:46 -07:00
Yeshwanth Sriram Guntuka
c5ca3ea9bb qcacld-3.0: Increase the CE history max records size
Increase CE history max records size to 8k to capture
more events in case of CE full ring condition.

Change-Id: Ia2a3ea61dc99dd21d06b442ef00cd25550f4cb5a
CRs-Fixed: 2549528
2019-10-22 01:50:14 -07:00
Sravan Kumar Kairam
3bc886df40 qcacld-3.0: Support stats quota for sta + sap ipa offload
Implement metering stats quota to support ipa offload sta plus
sap wifi sharing use cases.

Change-Id: Ic9d5ad817ffb4d671a43f3f3aebb2d8cce293873
CRs-Fixed: 2517696
2019-10-19 17:46:02 -07:00
Tiger Yu
81a8073dcb Revert "qcacld-3.0: Featurize partial reorder properly"
The revert Change-Id: I1f3819fa093766abba87e5dc6dc44e6d2188740b

Inlucde the ol_rx_reorder.c for LL solution to avoid NULL pointer access
when handling the fragmentation frames.

Change-Id: I5182693437b00d4c8a932beb59fd03adea5ee8a1
CRs-Fixed: 2546353
2019-10-17 22:46:42 -07:00
Manjunathappa Prakash
458f6fe460 qcacld-3.0: Add changes to support qca6490
Add changes to support qca6490 chip.

Change-Id: I861d88f6c9aba5285eff17c188bf335d50839d56
CRs-Fixed: 2522129
2019-10-17 15:06:24 -07:00
Ajit Pal Singh
7fef54a8ac qcacld-3.0: usb: Make HTC_MAX_MSG_PER_BUNDLE_TX configurable
Make HTC_MAX_MSG_PER_BUNDLE_TX configurable through config files.
Also set HTC_MAX_MSG_PER_BUNDLE_TX to 48 for QCN7605 usb.

Change-Id: If6616251f536c35db087d5623a81c8a3f02da725
CRs-Fixed: 2544743
2019-10-16 05:19:06 -07:00
Sourav Mohapatra
43e6dea453 qcacld-3.0: Move sta_info from array based to hash based
Currently in hdd_adapter, the variable sta_info is an array of
hdd_station_info structured indexed by the sta_id. As sta_id is no
longer used this array based implementation becomes unnecessary.

Move the sta_info implementation to a hash table implementation.

Change-Id: I7d6fe04b7e0ab22615d431de9a10a4ad38ed65ba
CRs-Fixed: 2514280
2019-10-15 00:48:54 -07:00
Jinwei Chen
5423579ff2 qcacld-3.0: enable DP pending memory flushing
Enable DP pending memory flushing by macro WLAN_DP_PENDING_MEM_FLUSH

Change-Id: I77a85c208a77cf7d2e43270b396e4ed9e41c3e85
CRs-Fixed: 2543465
2019-10-12 14:39:19 -07:00
Guisen Yang
260fd0882c qcacld-3.0: Remove hif_exec from NAPI switch
When NAPI is disabled, there are some failures show that certain APIs
are not defined, these APIs are not NAPI related and defined in
hif_exec.c. But this file will not be compiled when CONFIG_WLAN_NAPI
is not defined. Remove this build constraint and encap the NAPI related
APIs with CONFIG_WLAN_NAPI in file hif_exec.c. Meanwhile add the HIF_CE_DIR
for USB and SDIO case, otherwise it has build error after hif_exe.c move to
the common directory.

Change-Id: Ie1a32f6abbe2d361e126c361a2522ae0500139e9
CRs-Fixed: 2532586
2019-10-09 22:02:02 -07:00
Venkata Sharath Chandra Manchala
eb2d2581dc qcacld-3.0: Enable HIF_CE_DEBUG_DATA_BUF
Add support to make a copy of HTC buffer
before posting it to CE src rings.

Change-Id: Ie1219214a083ae4e9152e8acf63104aab9187ec6
CRs-Fixed: 2530421
2019-10-09 19:10:30 -07:00
Wu Gao
10300f9d6f qcacld-3.0: Enable direct buffer rx component
Enable direct buffer rx component in Kbuild since spectral scan gen3
based on this feature.

Change-Id: I8d44b35ca0d334917b3c052cc8ab4e47db34e4a1
CRs-Fixed: 2505676
2019-10-08 03:54:54 -07:00
Manjunathappa Prakash
eb1ec86246 qcacld-3.0: Add CPU mask support to pm_qos calls
Call the pm_qos voting for specific instead of applying vote
for all cores.

Change-Id: I74b3696e15f0adc38149265dacdd5fb10e9055fe
CRs-Fixed: 2495713
2019-10-07 02:13:02 -07:00
Manikandan Mohan
1baadae237 qcacld-3.0: Add support for WMI over QMI
Add support for WMI over QMI to reduce power consumption for
periodic stats report.

Change-Id: Iec725b357d9bcfa33029aedf7c568814499bc130
CRs-fixed: 2521826
2019-10-03 21:59:31 -07:00
Abhishek Ambure
995ab5a011 qcacld-3.0: Kbuild change for IBSS feature flag enable/disable
Enable/disbale IBSS feature using QCA_IBSS_SUPPORT flag in Kbuild.

Change-Id: Icd69009ac0ed0976f288e7f04639464f7b2b5891
CRs-Fixed:  2537008
2019-10-03 08:36:56 -07:00
Abhishek Ambure
e852897fe3 qcacld-3.0: Add wmi_unified_vdev_tlv.o in Kbuild
As common code carved out TLV and non-TLV definitions of vdev mgr ops
to a separate file in cmn_dev/wmi, wmi_unified_vdev_tlv.o is added
to Kbuild to compile wmi_unified_vdev_tlv.c.

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

Change-Id: I1f3ca3298c9ab1f1e2651ad6b4a0a4810f83f8a1
CRs-Fixed: 2522506
2019-09-25 06:14:10 -07:00
Wu Gao
18596aeaea qcacld-3.0: Update nan policy to allow SAP+NDP
Allow NDP if there is SAP, and remove duplicate codes.

Change-Id: Ibb59ad8bc9a2eb8638a0f11e78e8f0994422dfb7
CRs-Fixed: 2508265
2019-09-25 02:30:54 -07:00
Paul Zhang
c9dbaeea18 qcacld-3.0: Add interface to get / set eLNA bypass
Add interface to get / set eLNA bypass from / to firmware

Change-Id: Idf5d6a838d2596767a1fb00040457af721fba69d
CRs-Fixed: 2498525
2019-09-21 02:46:53 -07:00
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