Commit Graph

658 Commits

Author SHA1 Message Date
Venkata Sharath Chandra Manchala
306b698156 Revert "qcacld-3.0: Provide vendor extended stats from host"
This reverts change-id: Ie73b1e823a54385c5b97e1844a93d4ecc38d9d3c.

Change-Id: I34924e143b19e7254343b7839798700d64a0b566
CRs-Fixed: 2604690
2020-01-20 17:50:44 -08:00
Venkata Sharath Chandra Manchala
11d0056c4a qcacld-3.0: Compile pktlog files based on platform
Compile pktlog file based on legacy or future
chipsets as this would give us significant
code memory savings.

Change-Id: I394a9672fd84db691eef873cfd20eb1724e26073
CRs-Fixed: 2585626
2020-01-17 13:41:07 -08:00
Sravan Goud
96509f80bb qcacld-3.0: Provide vendor extended stats from host
Currently in lithium FW is not always in datapath. As a result
can not provide all the wlan vendor extended stats. So as part
of this host provides some of the extended stats.

Change-Id: Ie73b1e823a54385c5b97e1844a93d4ecc38d9d3c
CRs-Fixed: 2539662
2020-01-12 06:23:38 -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
Yue Ma
d03d10bcd1 qcacld-3.0: Cleanup WLAN_CONV_CRYPTO_IE_SUPPORT flag
WLAN_CONV_CRYPTO_IE_SUPPORT is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag.

Change-Id: Ide9fa97a9eb0b5c197c762205f386651efc51e33
CRs-fixed: 2592096
2020-01-08 11:30:05 -08:00
Srinivas Dasari
5cc0b7c087 qcacld-3.0: Increase max supported vdevs by driver to 6
Maximum no.of supported vdevs by driver are currently 5. Increase
it to 6 to allow the creation of a separate vdev for NAN.

Change-Id: I1cdc4cc88142bf7a2ad9ab7b8f518453482d2b86
CRs-Fixed: 2592023
2020-01-01 20:03:59 -08:00
Chaoli Zhou
dd26bd904c qcacld-3.0: Add one flag for IPA_DISABLE_OVERRIDE
Add one new feature flag for allowing host to disable
IPA from the initialization phase.

Change-Id: If5e842747e7867b6f55fca7715ab3034fef2adc9
2019-12-29 21:05:03 -08:00
Paul Zhang
2236ab76df qcacld-3.0: use debugfs to show ini configs
Create the debugfs interface to show the ini configs.
Usage: cat /sys/kernel/debug/wlan/ini_config

Change-Id: I2c6aeeaae6d79739bb8ab82740e8be678c18fd89
CRs-Fixed: 2572142
2019-12-27 05:17:55 -08:00
bings
eb28e19903 qcacld-3.0: Modify dfs phyerror pulse dur to increase radar detection rate
When radar is injected at +/-30MHz separation from center frequency
in VHT 80MHz mode incorrect pulse duration is reported in the radar
summary reports and lead to decreased radar probablity detection.

Fix the issue by capturing pulses with such characteristics and
modify them to fit within the valid phyerror pulse duration range.

Change-Id: Ic6314a372d6909448fbe4eb694c41736d1719712
CRs-Fixed: 2577632
2019-12-18 01:21:45 -08:00
Rakesh Pillai
a641f069ec qcacld-3.0: Enable config HAL_DISABLE_NON_BA_2K_JUMP_ERROR
Enable the config HAL_DISABLE_NON_BA_2K_JUMP_ERROR to
disable the 2k jump error detection in case of NON-BA.

CRs-Fixed: 2583130
Change-Id: I7eec5bc8ab2eddc4ba4eba4df4120112ad379bf0
2019-12-12 14:52:02 -08:00
Will Huang
136ca8d298 qcacld-3.0: Adjust tx retries stats on some platforms
On some platforms with TQM, target don't know packet number of
successfully transmitted after more than one retransmission attempt,
and after TQM retry, host data path will be notified.

Adjust tx retries stats number from data path, and indicate to upper
layer when query by wlan_hdd_cfg80211_get_station() on these platforms,
other platforms keep tx retries from wmi vdev stats.

Change-Id: Ie4b9a9f3b9241a59452e3f21f68757f3638b1a19
CRs-Fixed: 2574368
2019-12-06 07:15:37 -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
Arun Kumar Khandavalli
2f865fdceb qcacld-3.0: Move to the psoc wakelock from vdev wakelock
Wakelock is system level lock not required to be taken
for every vdev, Hence move the wakelock to the psoc hirerachy.

Change-Id: I7b3145a1349c0028db2888c2816948d1d48714d1
CRs-Fixed: 2574498
2019-12-05 23:53:26 -08:00
Arun Kumar Khandavalli
7b6bee792a qcacld-3.0: move to the psoc mlme timers
Move the vdev response timer from the vdev object structure
to the psoc mlme structure.

Change-Id: I1df253331ddbd5538066ee93bc3e45b703057818
CRs-Fixed: 2563383
2019-12-05 23:53:10 -08:00
Nirav Shah
fb9b1df409 qcacld-3.0: Add logic to bundle packets for HL
Add logic to queue and bundle packets before
giving it to scheduler to ensure predictive HTC
bundling for improvement in TX throughput.

Change-Id: Ib00135ca59b4c5f0f05edc93dca115bf17174a36
CRs-Fixed: 2561671
2019-12-01 17:40:55 -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
Ajit Pal Singh
4c8f6720a1 qcacld-3.0: Kbuild: Do not enable SG and RX_THREAD_PRIO for QCN7605
Do not enable CONFIG_FEATURE_SG and CONFIG_RX_THREAD_PRIORITY for QCN7605

Change-Id: I3320e863dfbe427e326890d2f1d2ccfb2ea04db7
CRs-Fixed: 2574197
2019-11-27 05:37:34 -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
Venkata Sharath Chandra Manchala
9173dd545e qcacld-3.0: Add HAL_CONFIG_SLUB_DEBUG_ON
Enable HAL_CONFIG_SLUB_DEBUG_ON to enable
debug level changes in HAL layer.

Change-Id: I6d175f0cf25bb20d0ad4d7cf7f0e92f77d23a0f1
CRs-Fixed: 2566849
2019-11-18 00:45:29 -08:00
Kiran Kumar Lokere
8dbd85a5b0 qcacld-3.0: Enable crypto convergence set key and IE support
Enable crypto convergence set key and IE support features.

Change-Id: Id8a22b7620bfe4e9cda003619d9f7f2329cc00cd
CRs-Fixed: 2560619
2019-11-12 23:12:03 -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
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