Commit Graph

871 Commits

Author SHA1 Message Date
Ashish Kumar Dhanotiya
9c0881c7b2 qcacld-3.0: Refactor disconnect complete code
Refactor disconnect complete code and move common code
for connection manager and legacy path to a common function
to remove the duplication of the code.

CRs-Fixed: 2842818
Change-Id: I9b204d458075a594514d298077231889e29447ae
2020-12-23 14:18:26 +05:30
Ashish Kumar Dhanotiya
440c4213e4 qcacld-3.0: Move DFS_BANGRADAR from common code to WIN
MCC does not use DFS_BANGRADAR feature so move common code
related to DFS_BANGRADAR to WIN specific code and as part of
this remove dfs_full_offload.c file from MCC compilation.

CRs-Fixed: 2837274
Change-Id: Ie28568a317787a0fb43dd94058f7b3e425bc3929
2020-12-15 09:50:11 -08:00
Pragaspathi Thilagaraj
d0af3d781f qcacld-3.0: Increase the number of TWT peer to 32
Increase the number of TWT peers allowed to 32 from current
default value of 2.

Change-Id: I9c081f602af059c940223ea2f66ea257a7d44f07
CRs-Fixed: 2825861
2020-12-14 09:29:39 -08:00
Tiger Yu
8b3cd3b4b8 qcacld-3.0: Enable athdiag live debug mode in debug version
Enable the athdiag live debug mode when CNSS2_DEBUG or SLUB_DEBUG_ON
enabled to enhance host debug.

Change-Id: I5241d60ff7e4e02acc74db312640aa299e5a356b
CRs-Fixed: 2831288
2020-12-10 15:45:07 -08:00
Yeshwanth Sriram Guntuka
1cbef73e16 qcacld-3.0: Add base code for Bus Bandwidth Manager
Add the init and de-init APIs for Bus Bandwidth
Manager.

Change-Id: I63c9bf0dbcbac458dd6467e5b073a5cb569ce502
CRs-Fixed: 2810496
2020-12-03 07:38:09 -08:00
Chaoli Zhou
982b98c6e3 qcacld-3.0: Add bootup kpi marker for some wlan events
Add the API to record some key wlan events
to "/sys/kernel/debug/bootkpi/kpi_values" from
HDD layer.
Examples:
108 KPI_MARKER 860s389434814ns qca6696 START LOADING
108 KPI_MARKER 860s634063720ns qca6696 DRIVER LOADED
108 KPI_MARKER 869s427276611ns qca6696 wlan0:SAP TRY
TO START
108 KPI_MARKER 869s576171875ns qca6696 wlan0:SAP START
with SUCCESS

Change-Id: I2e40305ee4100248348e9a284df71d1ee340e1e4
CRs-Fixed: 2816054
2020-12-02 20:49:25 -08:00
Rakesh Pillai
0569f1d9de qcacld-3.0: Enable support to mark ICMP request to be sent to FW
Enable the support, in Kbuild, to mark ICMP request to be
sent to FW at a regular interval.

Change-Id: I0b8828b31550973590dd222cc1fbaee52daaf88a
CRs-Fixed: 2813173
2020-11-24 17:43:38 -08:00
Ashish Kumar Dhanotiya
f069ecc1d7 qcacld-3.0: Move connect/disconnect code to new files
Currently connect and disconnect apis for connection manager
are present on the cfg80211 file, move connect and disconnect
related code to new files.

Change-Id: I514bbfdd66ab8ae5410fdbf9796e298c04130873
CRs-Fixed: 2812112
2020-11-24 13:02:12 -08:00
Bapiraju Alla
f98493aa9a qcacld-3.0: Set RX_DIAG_WQ_MAX_SIZE as 1000
Currently RX_DIAG_WQ_MAX_SIZE is set to 0. Which means, there is no
limit to the number of FW diag events that can be queued for processing.
This may result in SKB memory pool is being blocked by FW diag events.

To avoid this, set RX_DIAG_WQ_MAX_SIZE default value as 1000.

Change-Id: I44c69f910a512d8f9a1aed0809c55c6d93737cb2
CRs-Fixed: 2824443
2020-11-23 19:50:43 -08:00
Gururaj Pandurangi
370f376c02 qcacld-3.0: Modify connect start code in if mgr
Modify connect start code in interface manager by
moving disable roam and tdls link teardown notify
APIs from HDD to if mgr. Alongside, move tdls link
teardown notify API from HDD to if mgr in start bss API.
Also, move the tdls link teardown API to TDLS module from
HDD module as TDLS should manage the wait logic.

Change-Id: I09fa31878563a3daaa7c5fde46327475829317b3
CRs-Fixed: 2811807
2020-11-20 13:11:00 -08:00
CNSS_WLAN Service
b19704134d Merge "qcacld-3.0: Process FW diag events in a separate worker thread" into wlan-cld3.driver.lnx.2.0 2020-11-20 07:45:46 -08:00
Bapiraju Alla
82458cee70 qcacld-3.0: Process FW diag events in a separate worker thread
Currently, FW diag logs, management frames and stats responses are
processed in worker context. Because of this, there is a possible
out of memory scenario when there are huge number of diag events
waiting in work queue.

To address this, process diag events in a separate worker thread and
set the limit for the number of diag events that can be queued in
work queue.

Change-Id: Ib9f7b8042479e8b2f4d67c9a4250932b018f29a4
CRs-Fixed: 2821534
2020-11-19 20:38:57 -08:00
Li Feng
292b491dd8 qcacld-3.0: Add gpio irq as wakeup source
On some third party platform, the in-band bus suspend-resume is
not supported well, instead add gpio irq as wakeup source to
support out-of-band suspend-resume.

Change-Id: I7621f04d093013e15719b5c84dc244604be238df
CRs-Fixed: 2815754
2020-11-19 18:23:13 -08:00
Yeshwanth Sriram Guntuka
2624bf4e0d qcacld-3.0: Enable PCI link status sanity for Lithium
Enable PCI link status sanity for Lithium.

Change-Id: I767a467a4b70435037f5ccce9e740f95f8b6112a
CRs-Fixed: 2821831
2020-11-19 18:23:05 -08:00
Yu Wang
6088e94490 qcacld-3.0: move component 'coex' to qcacld project
'coex' component is MCC specific, move to qcacld project.

CRs-Fixed: 2721758
Change-Id: Ic1769ddf7eab6a6acc96349c020a6f311cda6bff
2020-11-18 14:19:13 -08:00
Jia Ding
e6afd40dd6 qcacld-3.0: Allow to vote link for STA mode
On MDM platforms, STA only IPA offload is supported.
Therefore there'll be scenarios when STA is connected
and APPS is suspended, IPA offload traffic will still
flow through WLAN HW.

Thus define a feature flag FEATURE_STA_MODE_VOTE_LINK
and allow to vote link for STA mode on MDM platforms.

Change-Id: I5c7aa3b35e3cd56249a5b34996fcea538b0da69d
CRs-Fixed: 2803802
2020-11-12 03:28:25 -08:00
Xueqiang Gong
05bb528b36 qcacld-3.0: support GENOA PCIE Global Reset
add CONFIG_QCN7605_PCIE_GOLBAL_RESET_SUPPORT
which is used to support Genoa Pcie Global Reset
this feature only used for 3rd party platform
which do not support hardware reset by toogle WLAN_EN pin

Change-Id: I0fa356e362ebafe18378e0a803bf3f4a00c77628
2020-11-10 17:19:30 -08:00
Srinivas Dasari
c584c24287 qcacld-3.0: Add 6ghz scan files for compilation
New files are created for 6ghz scan functionality. Add the same
for compilation.

Change-Id: I3f715db50fb5020afea74297794d07ddc5b39913
CRs-Fixed: 2806415
2020-11-05 16:12:32 -08:00
hqu
9448d68601 qcacld-3.0: Remove old rso path code [PART 6]
Macro ROAM_OFFLOAD_V1 is useless since new rso path code is
used, clean up all ROAM_OFFLOAD_V1 related code.

Change-Id: I0f6f2171a62b5c0cfb5333104be7eabc705dfef8
CRs-Fixed: 2812277
2020-11-04 11:10:43 -08:00
Liangwei Dong
82cc63c710 qcacld-3.0: Enable objmgr ref id tracing
Enable WLAN_OBJMGR_REF_ID_TRACE macro to tracing
objmgr ref id ref/deref logging.

Change-Id: I017ac15d4064c53432ceaa5b3e2c1adc99653002
CRs-Fixed: 2803773
2020-11-04 09:11:31 -08:00
Kai Liu
52aec7a272 qcacld-3.0: Enhance hang info feature
Use separate hang reason for case that lack of credit after suspend.
Meanwhile add hang buf offset check to avoid overflow.

Change-Id: Ic794d02672cd663598da66b9e75924c41b5ef0e8
CRs-Fixed: 2801343
2020-10-30 13:03:23 -07:00
Abhishek Ambure
b2ea72cbbe qcacld-3.0: Add support to send QCA connect fail reason code
User requests for last disconnect reason code using
QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO vendor command. Host replies with
connect fail reason codes from enum qca_sta_connect_fail_reason_codes using
QCA_WLAN_VENDOR_ATTR_GET_STA_INFO_CONNECT_FAIL_REASON_CODE attribute, If
last connection attempt failed.

Change-Id: I723a9dcf025bb58fa524cbf16f16a7dcea8bd5b6
CRs-Fixed: 2799227
2020-10-29 04:53:48 -07:00
gaurank kathpalia
e4defd9d16 qcacld-3.0: Add connect and disconnect support in connection manager
Add support for connect and disconnect path
in legacy cld files with respect to connection
manager.

Change-Id: Ia42dd45d943de20d91279c0197b0f17a5c0326eb
CRs-Fixed: 2805807
2020-10-28 15:33:18 -07:00
hqu
55fbe3e774 qcacld-3.0: Enable RSO ROAM_OFFLOAD_V1 path for all configs
Enable roam scan offload ROAM_OFFLOAD_V1 path for all configs.

Change-Id: Id3386c2f391f98fb67734fdd17919782d0240f18
CRs-Fixed: 2798357
2020-10-23 20:02:06 -07:00
Sandeep Puligilla
e9f1d269c9 qcacld-3.0: Enable interface manager
Enable interface manager on all the targets
through common build file modification.

Change-Id: I9e1f2b552bd1170a5bf84bf5af096bbcf275247f
CRs-Fixed: 2799889
2020-10-23 20:02:01 -07:00
Liangwei Dong
e8a9b19747 qcacld-3.0: Handle thermal stats event from target
Handle firmware thermal stats event and populate the thermal
information to upper layer with vendor command event.

Change-Id: I83286367ab542c08a205a7636f3d03189b0500e5
CRs-Fixed: 2786623
2020-10-23 10:03:04 -07:00
Yeshwanth Sriram Guntuka
6884f4bea0 qcacld-3.0: Enable packet drop on non-monitoring MAC
Enable the feature flag to drop packets on non
monitoring RXDMA2SW ring.

Change-Id: I49cb276827f4a06791183ee3fe8c88ba84df085d
CRs-Fixed: 2799988
2020-10-19 12:58:38 -07:00
Nisha Menon
3acddc2be1 qcacld-3.0: Add feature to enable generic shadow reg write
Add feature GENERIC_SHADOW_REGISTER_ACCESS_ENABLE to enable
shadow reg write for generic shadow registers.
This is enabled only for HSP.

Change-Id: I90302aa050baa9128313dbaf0c4ab57e426289b3
CRs-Fixed: 2794917
2020-10-16 17:37:59 -07:00
Min Liu
47d4029c67 qcacld-3.0: API to report congestion
API to report congestion to userspace.

Change-Id: I324ae6701dace590daaa2c3f80412d6633cbf8f0
CRs-Fixed: 2766432
2020-10-13 23:18:32 -07:00
Chaoli Zhou
221e7e425e qcacld-3.0: Enable/Disable intrabss for Rome IPA
In the Rome IPA case, it need wlanhost side to
enble/disable intrabss by WMI_VDEV_PARAM_INTRA_BSS_FWD.
If set to 1, the ip data transfer between two wlan clients
should be:
wlan client1 -> wlan fw -> wlanhost -> wlan fw-> wlan client2.
If set to 0, the ip data transfer between two wlan cleints
should be:
wlan client1 -> wlan fw -> ipa -> wlan fw -> wlan clients2.

Change-Id: I105ddbdb58f2cd01bdf94521bd7934508889de5d
2020-10-13 04:13:15 -07:00
Abhinav Kumar
c526619159 qcacld-3.0: Trigger MSCS action frame
Add logic to send MSCS action frame to AP based on
voice tx packet.

Change-Id: I272addfcb60e459043426950d00ba5957b594505
CRs-Fixed: 2791796
2020-10-09 02:14:13 -07:00
Alan Chen
0a2ba18b6c qcacld-3.0: Enable wlan debug features when CONFIG_CNSS2_DEBUG is defined
In latest builds, CONFIG_SLUB_DEBUG is not getting set for debug builds,
which is causing wlan debug features to get disabled. Hence, enable
wlan debug features when either CONFIG_SLUB_DEBUG_ON or CONFIG_CNSS2_DEBUG
are defined.

Change-Id: I8fd94e095f2e5ebc459e73a6ae39e143944cc5f7
CRs-Fixed: 2789834
2020-10-08 15:33:45 -07:00
Chaoli Zhou
37019b515c qcacld-3.0: Add vendor command support for GPIO Configuration
Add vendor command support for GPIO configuration.
It adds wma wrapper functions to send wmi command
for GPIO configuration, which are called by cfg80211
API in hdd layer
Change-Id: I9a02072afaab893d12fc9c991c8265b5aa19cd75
CRs-Fixed: 2753571
2020-10-08 15:33:40 -07:00
Guisen Yang
7608656e86 qcacld-3.0: Change ROME IPA pipe names
With IPA team's request, in order to match
the pipe setting in the ipa driver of linux
kernel 4.14, we need to change ROME IPA
pipes from IPA_CLIENT_WLAN1_CONS and
IPA_CLIENT_WLAN1_PROD to IPA_CLIENT_WLAN3_CONS and
IPA_CLIENT_WLAN3_PROD. Meanwhile change MCC pipe
to IPA_CLIENT_WLAN2_CONS. Also add one feature
flag to avoid affecting other SPs

Change-Id: I99dd442801b1278742c19e4565da2201e1303607
2020-10-07 15:16:18 -07:00
Visweswara Tanuku
ff284446e7 qcacld-3.0: Defines to set twt ap pdev count
Provide defines in Kbuild to set twt_ap_pdev_count in target

Change-Id: Ife77feaf3fe9c39b19ee55ddbfff5c99509726df
CRs-Fixed: 2788374
2020-10-06 06:50:28 -07:00
Abhishek Ambure
af02d10731 qcacld-3.0: Add support to send wfa test config to FW
User sends wfa test configs to host using vendor command
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION. Host parses the
vendor command and sends wfa test configs to FW using WMI command
i.e. WMI_WFA_CONFIG_CMDID

Change-Id: I5aa0bc8b0a0064828b48368e47d53a5ad5e7ff2f
CRs-Fixed: 2772013
2020-10-06 04:10:51 -07:00
Bapiraju Alla
5191713c4b qcacld-3.0: Send get_station and ll_stats req in a single command
Currently ll_stats and get_station requests are sent back to back
from user space. The firmware time difference between these two commands
results in extra sleep and wakeup for Q6.

To avoid this extra Q6 sleep and wake, send both requests in a single
command from the driver if the firmware supports that operation. Cache
the get_station results in the driver until user space request reach
to the driver.

Change-Id: Ic7c6232558b9411106bf3fb88ec8d9b0b28b045d
CRs-Fixed: 2778476
2020-09-30 11:10:21 -07:00
Karthik Kantamneni
a1952c8ae6 qcacld-3.0: Send connect request for WMI DIAG SVC
Send connect request for WMI DIAG events over CE7.
Enable WMI DIAG over CE7 feature for QCA6750 target.

Change-Id: Iaa9e030383a3f8fea07ddccde3d260e60742b862
CRs-Fixed: 2787003
2020-09-30 11:10:13 -07:00
Ashish Kumar Dhanotiya
80759aa660 qcacld-3.0: Rename osif files and functions for connection manager
The naming of the osif files and functions is not correct as
these files and functions include wlan_cfg80211 as prefix
instead of osif.
Correct file name and function name should contain the component
name first, followed by feature name followed by method.

Change-Id: I26a592de71bbde0f731436acb970778c85d19226
CRs-Fixed: 2786807
2020-09-30 08:38:30 -07:00
Naman Padhiar
1ba18d2523 qcacld-3.0: Enable Host Wake Up over QMI feature for WCN6750
Enable feature to send EXIT_POWER_SAVE QMI from host instead of
HOST_WAKEUP_FROM_SLEEP WMI. When FW receive EXIT_POWER_SAVE QMI,
it will implicitly consider that it also received HOST_WAKEUP_FROM_SLEEP
and send ACK for it through CE2.

Change-Id: I14515b62ff3ff1b4ed66397039ce180a99d49d43
CRs-Fixed: 2779383
2020-09-21 16:55:42 -07:00
Paul Zhang
67c55db07a qcacld-3.0: Fix compiler issue about cnss_set_pcie_gen_speed
Since some platform driver does not support for PCIE gen switch,
Using macro PCIE_GEN_SWITCH to control whether function
cnss_set_pcie_gen_speed is invoke or not.

Change-Id: I478cd6426b005014e85c0b3c1c31963045d7322b
CRs-Fixed: 2767110
2020-09-17 21:09:00 -07:00
Chaoli Zhou
320e37d20b qcacld-3.0: Export get driver mode interface
Since PCIE Genoa has separate wlan fw patch for
mission mode(amss.bin) and ftm mode(genoaftm.bin),
but cnss2 platform driver always try to load amss.bin,
which is not feasible. So add this new interface for
cnss2 to get correct driver mode and update the fw
patch name before it start downloading wlan fw

Change-Id: I44565c5f50aa03bbc407ee135ef5b02a040b0df6
2020-09-16 21:04:29 -07:00
Karthik Kantamneni
a077a93f29 qcacld-3.0: Enable qdf frag API's support
Currently qdf frag API's are not compiled, enabled those
API's compilation since they are used in DP TX frag path.

Change-Id: Iadd0710beb2220fb560b8873a3a8736b6a66b7ca
CRs-Fixed: 2777139
2020-09-16 04:51:30 -07:00
Amruta Kulkarni
ea53232656 qcacld-3.0: Enable roaming on interface mgr
- Use sme roaming api's instead of converged
 roaming api's.
- Add debug logs in if mgr api's.
- Fix typo in Kbuild file.
- Fix compilation errors.
- Fix comments for readability.
- Update disconnect functions so parameter type matches.

Change-Id: Ia0adf6f79036e9348bf4ebb6237a5e25ef813a21
CRs-Fixed: 2774509
2020-09-14 09:55:10 -07:00
Rakesh Pillai
7ffb80cd98 qcacld-3.0: Enable Software latency manager
Enable the Software Latency Manager in the Kbuild

Change-Id: Icc4b8ef4014508a99d155fc7a2807b99c2de11cc
CRs-Fixed: 2769031
2020-09-11 21:15:56 -07:00
Rakesh Pillai
447b9395ff qcacld-3.0: Add sysfs entry to control SWLM
Add sysfs entry to enable or disable the
Software latency manager runtime.

Change-Id: Iaa920c7c71586b3200322a704003abcf95840edc
CRs-Fixed: 2769035
2020-09-11 21:15:52 -07:00
Mohit Khanna
e3d78d5d9d qcacld-3.0: Enable DP_MEM_PRE_ALLOC flag
Add support for DP SRNG consistent memory pre-alloc.

Change-Id: I867ff901aa6d26f86b16167fb3955096d318d61c
CRs-Fixed: 2740424
2020-09-10 21:00:38 -07:00
Sandeep Puligilla
e15b17acf0 qcacld-3.0: Kbuild change to enable interface manager
Build file changes to compile interface manager files

Change-Id: I8370e49853d83a6b8adcc130d7aa92ead00f4ff5
CRs-Fixed: 2759251
2020-09-03 19:27:14 -07:00
Ashish Kumar Dhanotiya
918c7e4c07 qcacld-3.0: Add feature flag for line number logging
Currently line number is not useful in the logs and to print
the line number consumes lot of memory in driver text area size.
To reduce the driver size add feature flag to enable/disable
line number logging in the driver.

Change-Id: Ie11e3425cb61edad09c0da0337d0daa18e2a56d6
CRs-Fixed: 2766244
2020-09-03 04:04:03 -07:00
Chaoli Zhou
075cb24e55 qcacld-3.0: Limit the IPA tx buffer for Genoa
In order to improve the Genoa DBS KPI, need to
increase the IPA tx complete ring size from
1024 to 2048. And the tx buffer count also will
increase from 1023(1024-1) to 2047(2048-1) according.
But in fact, as for wlan fw, it just only reserve
1500(1100 for 5G, 400 for 2.4G) tx desc for packets
from IPA, so some tx buffer will not used here,
which will waste memory. So to save some memory,
export CONFIG_LIMIT_IPA_TX_BUFFER for platform
configuration to limit the max IPA tx buffer count

Change-Id: Id5d4c5a220b588747f3d1981627f6253d7c3305b
2020-08-31 17:20:59 -07:00