Commit Graph

167 Commits

Author SHA1 Message Date
Pankaj Singh
1c188ac710 qcacld-3.0: Add support for WLAN thermal mitigation
As part of new requirement WLAN subsystem needs to perform thermal
mitigation action as per the thermal state of the device. The
wifi hal sends vendor command QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD
with the thermal level parameter and wlan host performs the required
appropriate action. wlan host driver maps the thermal level to
corresponding duty cycle off percent value and duty cycle value,
send WMI_THERM_THROT_SET_CONF_CMDID cmd to FW.

Make changes to perform vendor command handling, mapping thermal level
to duty cycle value and communicating the thermal information to FW

change-ID: Ib2152bd4349786d1624eca480790e772414f9df6
CRs-Fixed: 2613529
2020-01-31 11:21:51 -08:00
Venkata Sharath Chandra Manchala
0d0ef55749 qcacld-3.0: Provide soc objmgr to hif
Pass soc objmgr from hdd context to hif context
to retrieve INI parameters to be used in hif
layer.

Change-Id: I0ad4573fecba0fc78968145394683057d09da312
CRs-Fixed: 2598759
2020-01-27 15:42:46 -08:00
Nisha Menon
cda811c37b qcacld-3.0: Enable MCL feature flag RXDMA_ERR_PKT_DROP
If the flag is enabled drop the packet if msdu_done bit
is not set while processing rxdma err frames. This is
not expected while reaping WBM RX release ring.

Change-Id: Ic8a09ba5a6952510e82a209d6ef609343a9bc09a
CRs-Fixed: 2608661
2020-01-24 02:30:20 -08:00
Vevek Venkatesan
07baef36ca qcacld-3.0: Enabling METERING Feature for BENGAL
Enable CONFIG_QCACLD_FEATURE_METERING Feature for BENGAL
in default_defconfig

Change-Id: If294665531b0aa9eb2c54e19dec82e1d9353ed8c
CRs-Fixed: 2604232
2020-01-16 15:47:21 -08:00
Jianmin Zhu
e986417f5a qcacld-3.0: Unknown symbol wlan_set_vdev_crypto_prarams_from_ie
Fix insmod Genoa wlan module failure for:
wlan: Unknown symbol wlan_set_vdev_crypto_prarams_from_ie.

wlan_set_vdev_crypto_prarams_from_ie is defined in
wlan_crypto_global_api.c

UMAC_CRYPTO_OBJS := $(UMAC_CRYPTO_CORE_DIR)/
wlan_crypto_global_api.o \

ifeq ($(CONFIG_CRYPTO_COMPONENT), y)
OBJS +=		$(UMAC_CRYPTO_OBJS)
endif

The crypto component is always required after convergence
between WIN/MCC, hence just unconditonally set
CONFIG_CRYPTO_COMPONENT := y in Kbuild.
Remove CONFIG_CRYPTO_COMPONENT := y in defconfig of each wifi
chip: default_defconfig, qca6174_defconfig, qca6390_defconfig.

Change-Id: Id0abe80673d59d9274401f1304b5ce1d906624eb
CRs-Fixed: 2596124
2020-01-08 15:46:44 -08:00
Vevek Venkatesan
f856395465 qcacld-3.0: Enable SMMU S1 TRANSLATION for BENGAL
Enable SMMU S1 TRANSLATION flag for BENGAL.

Change-Id: I3eee86a7e7916146906e7cbda9b80fed532aa2aa
CRs-Fixed: 2595375
2020-01-06 12:18:50 -08:00
Yu Ouyang
b08f9f47b7 qcacld-3.0: Enable WPA3 SAE feature for ROME SDIO
Enalbe WPA3 SAE feature in config file for ROME SDIO.

Change-Id: I894dd6a89be335c3e130d663a30734cfa06ac4e9
CRs-Fixed: 2593159
2020-01-01 23:37:34 -08:00
Paul Zhang
e4b382eb03 qcacld-3.0: Fix compiling issue when disable CONFIG_WLAN_DEBUGFS
When CONFIG_WLAN_DEBUGFS is disabled, source files depending on debugfs
will not be compiled.

CRs-Fixed: 2589891
Change-Id: I43496fe1fffc83c26d810b2a06b8c0f45edfc1c8
2019-12-27 20:00:38 -08:00
Paul Zhang
faa929c2ce qcacld-3.0: Add support for timer based to capture tsf
Add configuration CONFIG_WLAN_SYNC_TSF_TIMER and macro
WLAN_FEATURE_TSF_TIMER_SYNC to capture and get the tsf
from firmware.

Change-Id: I62298791cbafed84f1d23f1a2ecb5c2835dcd137
CRs-Fixed: 2564860
2019-12-05 23:54:07 -08:00
tinlin
9abd17fe45 qcacld-3.0: Add debugfs for MIB statistics
Define debugfs node in driver to
export MIB counters to user app.

Define macro WLAN_FEATURE_MIB_STATS for this
feature that gets MIB statistics from fw.

Change-Id: Icae8826309094d17e8f6d4503f617a3a7116d3c9
CRs-Fixed: 2548241
2019-12-01 17:39:59 -08:00
Sourav Mohapatra
2a67b0ed24 qcacld-3.0: Add driver command to request ANI level
The ANI level determines how well the device is coping with interference
in the wireless environment. Add support in the driver to query the ANI
level from the firmware and populate it for userspace entities to use.

Change-Id: I54934f670aa11737e11eca4d64e12f9dffb4f430
CRs-Fixed: 2554674
2019-11-26 05:30:13 -08:00
Alok Kumar
a6bdc6f28d qcacld-3.0: Add feature flag for DataStall
Add feature flag WLAN_SUPPORT_DATA_STALL to
support host datastall.

Change-Id: I263da2de9af1f2a1d17027601fc625c31d5ad76d
CRs-Fixed: 2564310
2019-11-26 02:14:14 -08:00
Venkata Sharath Chandra Manchala
06f1f1225b qcacld-3.0: Enable Force wake
Enable Force wake feature through Kbuild
to access address range greater than BAR+4K
at runtime.

Change-Id: Ibe3c3b9b765c256493b1d5f9258e462760d45dc6
CRs-Fixed: 2557978
2019-11-26 02:13:59 -08:00
Sandeep Puligilla
425a583863 qcacld-3.0: Kbuild change to enable SCAN priority algorithm
Kbuild change to enable SCAN priority channel list algorithm.

Change-Id: I2dc24dd22e19da6db516332ae14edf4bc0f8cce4
CRs-Fixed: 2568889
2019-11-24 22:34:32 -08:00
Jinwei Chen
230918fa0e qcacld-3.0: enable ENABLE_QDF_PTR_HASH_DEBUG macro for debugging
Enable ENABLE_QDF_PTR_HASH_DEBUG macro for Def build only to debug
qdf_ptr_hash related issue.

Change-Id: Ifa35afa716333d3bf777558e15d7b0295abce72c
CRs-Fixed: 2566025
2019-11-18 22:59:36 -08:00
Yeshwanth Sriram Guntuka
4382d420fd qcacld-3.0: Enable large ce desc history only for helium
Enable large ce desc history only for helium.

Change-Id: Ia4261736f48b7bd9859506f6e6917a0e6ed287f8
CRs-Fixed: 2568325
2019-11-18 14:08:49 -08:00
Jinwei Chen
795728d939 qcacld-3.0: add macro HAL_REGISTER_WRITE_DEBUG for Def build
Enable macro HAL_REGISTER_WRITE_DEBUG for Def build to
enable register writing result check.

Change-Id: I3387dcc2739429a7943fbda7a666f3ddbbe80f0a
CRs-Fixed: 2561073
2019-11-11 15:15:12 -08:00
Nisha Menon
d6c2c37657 qcacld-3.0: Enable MCL feature flag REO_DESC_DEFER_FREE
In the REO status callback function for RX tid delete if the
cache flush cmd is not sent successfully to REO, add the REO
descriptor back to the free desc list and defer the deletion
to the callback function.

Changes are made under MCL feature flag REO_DESC_DEFER_FREE.

Change-Id: Ib6c077ebf763ab8feb4c45c17ff37d03252fe093
CRs-Fixed: 2558052
2019-11-07 13:43:49 -08: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
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
Yu Ouyang
fb67f620c1 qcacld-3.0: Fix one potential wrong config
CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY may be not set yes, if only
CONFIG_ROME_IF is set pci in external file. Because it is set yes
only when CONFIG_HIF_PCI set yes, however, CONFIG_HIF_PCI set yes
after it. For example, in file default_defconfig, CONFIG_HIF_PCI
set to yes on line 465, however line 311 checking CONFIG_HIF_PCI
to enable CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY. So, line 314 can't
be called, CONFIG_WLAN_TX_FLOW_CONTROL_LEGACY is not set yes.

Change "ifeq ($(CONFIG_HIF_PCI), y)" to "ifeq ($(CONFIG_ROME_IF),pci)"
to avoid it.

Change-Id: Id324cdb99d6ee2d20bc00e698836c3ea4c5e0a05
CRs-Fixed: 2496110
2019-10-22 23:03:37 -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
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
Vevek Venkatesan
78382d89e7 qcacld-3.0: Enabling METERING Feature for lito
Enable CONFIG_QCACLD_FEATURE_METERING Feature for lito
in default_defconfig

Change-Id: I70e004e34dbea0690503c5990b2bf83089873898
CRs-Fixed: 2545739
2019-10-16 15:39:06 -07:00
Abhishek Ambure
e9d049901a qcacld-3.0: Disable IBSS code
IBSS code is placed under "QCA_IBSS_SUPPORT" feature flag. IBSS code is
disabled and to enable it define "QCA_IBSS_SUPPORT" in default_defconfig.

ex. CONFIG_QCA_IBSS_SUPPORT := y

Change-Id: I08619dbed4661d9fc132adbcd1de2cd4470a2737
CRs-Fixed: 2542078
2019-10-12 22:15:39 -07:00
Jianmin Zhu
d6f0563f96 qcacld-3.0: Enable LFR3 just for Helium and HST
Enable LFR3 just for Helium and HST,  Rome still use LFR2

Change-Id: Iee0d11898ba18246386496df626f8cbbeb05fe1e
CRs-Fixed: 2543516
2019-10-12 20:36:00 -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
Lin Bai
c33d360d74 qcacld-3.0: Disable DBR feature on sdxprairie
DBR feature not required on SDX platform, and disable it.

Change-Id: Ic4e4029a58a2c1658f6192d31412b213272d023c
CRs-Fixed: 2505676
2019-10-12 11:34:23 -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
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
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
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
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
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
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
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
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