Commit Graph

201 Commits

Author SHA1 Message Date
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
Mohit Khanna
62282ceda7 qcacld-3.0: Donot enable PKTLOG_LEGACY for lithium
Since CONFIG_ROME_IF is defined as "PCI" for lithium, PKTLOG_LEGACY is
getting enabled for lithium product as well. Disable PKTLOG_LEGACY for
lithium chipsets.

Change-Id: Ida237cd03e7006514120f9b2e37c7ad5c3897294
CRs-Fixed: 2532170
2019-10-02 16:25:12 -07:00
Jianmin Zhu
4f9f13876e qcacld-3.0: Fix insmod HST driver failed on auto platform
Insmod failed for:
wlan: Unknown symbol ol_cfg_set_tx_free_at_download (err 0)
wlan: Unknown symbol ol_txrx_soc_attach (err 0)

The 2 functions are only implemented on legacy platform like
Helium.
Fixed by copy config from default_defconfig to
qca6390_defconfig.

Change-Id: I5e8838c6653571507e6143c28ad6a0f7e7b228e9
CRs-Fixed: 2535963
2019-09-27 09:11:59 -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
Will Huang
7f5e9ce296 qcacld-3.0: Enable fw stats version 2 for some target
Some target chipset support fw stats version 2, but we didn't enable
it in some configure file. Enable it in these configure files which
depend on chipset.

Change-Id: Ief8b87bdb466a1838e6a61928f0154868f0ff220
CRs-Fixed: 2524266
2019-09-19 07:46:39 -07:00
Lin Bai
a8df73b72a qcacld-3.0: Enable monitor mode for SDXPRAIRIE
Enable monitor mode for SDXPRAIRIE.

Change-Id: I70015845ea0d8dcc3aa2019ab8fdb300dc8eb49d
CRs-Fixed: 2529073
2019-09-18 01:19:40 -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
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
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
Visweswara Tanuku
c3f26d77b0 qcacld-3.0: Genoa: SDIO: Update Genoa SDIO Configs
Use 64 bit HTT header instead of 32 bit &

Enable CONFIG_QCN7605_SUPPORT for Genoa SDIO

Enable CONFIG_PLD_SDIO_CNSS2 for Genoa SDIO

CRs-Fixed: 2520815
Change-Id: Ib94bb2f24db838dcec7ad037a2c9149c8183b0c8
2019-09-06 06:22:57 -07:00
Visweswara Tanuku
a7f98a37d5 qcacld-3.0: Enable adma config option for Genoa SDIO
Set CONFIG_SDIO_TRANSFER to adma for Genoa SDIO

Change-Id: Iee6575f53e4ca5cb900d0175a5aeec982f902054
CRs-Fixed: 2429660
2019-09-06 06:22:53 -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
stonez
5f9a622e30 qcacld-3.0: Including MPTA helper and Coex configuration feature
MPTA helper and Coex configuration features are not included
after latest system compilation updating. Modify configure
file qcs40x.snoc.perf_defconfig to include them.

Change-Id: I8ecad6c84bd4ca2d8e1b69f0cea14b61b2545ca3
CRs-Fixed: 2511723
2019-08-27 12:22:14 -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
Guisen Yang
7d6e03669e qcacld-3.0: Enable IPA3 for sdxprairie arch
Enable IPA3 in qca6390 for sdxprairie platform. The IPA
over gsi and smmu are also enabled to make IPA workable.

Change-Id: I5ce6b22dcc4a6678deb6a5ac2d712fb82b6c5bf3
CRs-Fixed: 2496838
2019-08-12 05:35:15 -07:00
Yeshwanth Sriram Guntuka
fcb37b7cf7 qcacld-3.0: Disable FW log parsing feature for Lithium targets
Disable fw log parsing feature config flag for Lithium
targets as firmware will no longer use WMI events for
sending logs.

With Lithium config flag disabled:
   text    data     bss     dec     hex  wlan.ko size
6767311  251817 2424616 9443744  9019a0       17096KB

With Lithium config flag enabled:
   text    data     bss     dec     hex  wlan.ko size
6699206   81613 2423872 9204691  8c73d3       16768KB

Change-Id: I536a20a0c0d7c4abcee775e3007d1749a21b648b
CRs-Fixed: 2504803
2019-08-09 08:57:36 -07:00
Rakshith Suresh Patkar
e0b7640468 qcacld-3.0: Enable SMMU S1 TRANSLATION for ATOLL
Enable SMMU S1 TRANSLATION flag for ATOLL

Change-Id: Ia22060bd0c158602a3b7a9f31690a44cb94b2b49
CRs-Fixed: 2502129
2019-08-08 09:52: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
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
jiad
b5d9cdb0ff qcacld-3.0: Support CNSS2 as dlkm
Support CNSS2 as kernel dynamic loadable module.

Change-Id: I2d341de8d7a1f23dbd9074b41606b59f64dbfa9b
CRs-Fixed: 2498780
2019-07-30 07:58:06 -07:00
Rakshith Suresh Patkar
7d24ef494c qcacld-3.0: Enable SMMU S1 TRANSLATION for SM7150
Enable SMMU S1 TRANSLATION flag for SM7150

Change-Id: I5ad9b7fec096897b45e9297e42cb31ce3a204d0a
CRs-Fixed: 2425317
2019-07-29 06:29:32 -07:00
Alan Chen
7d331618cd qcacld-3.0: Remove unit-test framework for Lithium
Do not enable unit-test framework by default for all Lithium
targets. Unit-test framework should only be enabled in debug builds.

Change-Id: I709d13ebb35302787377c8f36a8db0f04c2e794e
CRs-Fixed: 2498069
2019-07-26 21:21:23 -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
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
Guisen Yang
f97e7b0963 qcacld-3.0: Update defconfig for qca6390
The functions hdd_sysfs_create_adapter_root_obj() and
hdd_sysfs_destroy_adapter_root_obj() are declared but not
implemented if CONFIG_WLAN_SYSFS is not defined but
CONFIG_FEATURE_BECN_STATS is defined. Do not enable
CONFIG_FEATURE_BECN_STATS if CONFIG_WLAN_SYSFS is not defined.
The monitor mode should not be supported by sdxprairie arch.

Change-Id: I583af70dfdba8f14e4967c805672ecd8a17640d1
CRs-Fixed: 2481850
2019-07-17 09:45:25 -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
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
Rakshith Suresh Patkar
63b21d7154 qcacld-3.0: Enable SMMU S1 TRANSLATION for TALOS
Enable SMMU S1 TRANSLATION flag for TALOS

Change-Id: I4864f5b433b769e35de206aad8453d6352ae9119
CRs-Fixed: 2425321
2019-07-02 06:01:28 -07:00
bings
49895279c0 qcacld-3.0: Disable dfs tx leakage for HST onwards
CONFIG_CHNL_MATRIX_RESTRICTION should not be defined by default.
CONFIG_CHNL_MATRIX_RESTRICTION should not be defined by HST.

Change-Id: I36154976c4e106d9910977b5990f796b889eaf82
CRs-Fixed: 2476488
2019-06-26 22:45:33 -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
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
Pragaspathi Thilagaraj
2071e3380e qcacld-3.0: Disable LFR2 for cld-3.2 mainline
Disable LFR2 in cld-3.2 mainline as roaming is offloaded
to firmware in LFR3. Also fix linker issues with lfr2 disabled.
Featurize LFR2 properly with adding correct header files
and bringing LFR2 only functions under WLAN_FEATURE_HOST_ROAM
compile time flag.

Change-Id: Iac81b693feaab503d371753a4d16cc3e70df2a87
CRs-Fixed: 2459786
2019-06-18 07:51:20 -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
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
Nirav Shah
8d6862c001 qcacld-3.0: Enable CONFIG_AR900B for Genoa
Enable CONFIG_AR900B feature to use FW stats
version 2.

Change-Id: Ia2d9ad34477ecc50858f8e2f65425b719339c916
CRs-Fixed: 2468812
2019-06-15 00:26:11 -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
hangtian
67888e2e8d qcacld-3.0: Configure CFG_TGT_NUM_MSDU_DESC through driver config
Configure CFG_TGT_NUM_MSDU_DESC through driver config.

Change-Id: I9667414e526fa7e3e735a209b074db4777c6e86e
CRs-Fixed: 2463898
2019-06-13 04:10:21 -07:00
Sachin Ahuja
a5d29f71c1 qcacld-3.0: Disable the export symbols in the driver
Currently the export symbols are enabled in the driver
which is increasing the text section of driver.

Since driver does not need export symbols, disable it.

Change-Id: I463835107fc2a86ee6b4ab36edc75571f644499f
CRs-Fixed: 2462388
2019-06-13 02:48:03 -07:00
Nirav Shah
ca7ab5ce64 qcacld-3.0: Disable packetlog for QCN7605
Disable packetlog for QCN7605.

Change-Id: Id0737e8857ac5fdebd6becd3addb84f10c0033d0
CRs-Fixed: 2467273
2019-06-10 09:15:37 -07:00
Jingxiang Ge
37b33f3651 qcacld-3.0: Disable NAN for ROME architecture
NAN is not supported on ROME platform, Disable
CONFIG_QCACLD_FEATURE_NAN in qca6174_defconfig.

Change-Id: I579e26c351bc95e7739a0853f4bfb467aafabbda
CRs-Fixed: 2446747
2019-06-05 20:38:10 -07:00