Commit Graph

918 Commits

Author SHA1 Message Date
Jeff Johnson
3c7c22225c qcacld-3.0: Kbuild: Cleanup HOST_DIAG_LOG_OBJS logic
Currently HOST_DIAG_LOG_OBJS are added to OBJS when BUILD_DIAG_VERSION
is enabled.  An upcoming change requires that assignments to OBJS be
unconditional, so relocate the condition to wrap the assignment of
HOST_DIAG_LOG_OBJS.

Change-Id: Icdf6898b848f682d9617537394651f533ba81553
CRs-Fixed: 2867999
2021-02-18 21:16:37 -08:00
Jeff Johnson
364b207481 qcacld-3.0: Kbuild: Cleanup DISA_OBJS logic
Currently DISA_OBJS are added to OBJS when CONFIG_WLAN_FEATURE_DISA is
enabled. An upcoming change requires that assignments to OBJS be
unconditional. Fortunately the assignment of .o files to DISA_OBJS is
already conditional upon CONFIG_WLAN_FEATURE_DISA so remove the
condition from the assignment to OBJS.

Change-Id: I2130b8efe12e5366b40856704d62d000a4e474f4
CRs-Fixed: 2867998
2021-02-18 21:16:31 -08:00
Jeff Johnson
2b0f119d7d qcacld-3.0: Kbuild: Cleanup ACTION_OUI_OBJS logic
Currently ACTION_OUI_OBJS are added to OBJS when
CONFIG_WLAN_FEATURE_ACTION_OUI is enabled. An upcoming change requires
that assignments to OBJS be unconditional. Fortunately the assignment
of .o files to ACTION_OUI_OBJS is already conditional upon
CONFIG_WLAN_FEATURE_ACTION_OUI so remove the condition from the
assignment to OBJS.

Change-Id: Icf1c4f061286e3ae88344b380deff4bf135143e1
CRs-Fixed: 2867997
2021-02-18 21:16:26 -08:00
Jeff Johnson
23839c7a47 qcacld-3.0: Kbuild: Cleanup PKT_CAPTURE_OBJS logic
Currently PKT_CAPTURE_OBJS are added to OBJS when
CONFIG_WLAN_FEATURE_PKT_CAPTURE is enabled. An upcoming change
requires that assignments to OBJS be unconditional. Fortunately the
assignment of .o files to PKT_CAPTURE_OBJS is already conditional upon
CONFIG_WLAN_FEATURE_PKT_CAPTURE so remove the condition from the
assignment to OBJS.

Change-Id: If9083c5ba382e1ae1a638b77e12437a707b69073
CRs-Fixed: 2867996
2021-02-18 21:16:20 -08:00
Jeff Johnson
9f66d73785 qcacld-3.0: Kbuild: Cleanup FTM_TIME_SYNC_OBJS logic
Currently FTM_TIME_SYNC_OBJS are added to OBJS when
CONFIG_FEATURE_WLAN_TIME_SYNC_FTM is enabled. An upcoming change
requires that assignments to OBJS be unconditional.  Fortunately the
assignment of .o files to FTM_TIME_SYNC_OBJS is already conditional
upon CONFIG_FEATURE_WLAN_TIME_SYNC_FTM so remove the condition from
the assignment to OBJS.

Change-Id: I57fd2c08f6c732018d50a232156e3b29c0fac285
CRs-Fixed: 2867921
2021-02-18 21:16:15 -08:00
Jeff Johnson
adc355047c qcacld-3.0: Kbuild: Cleanup UMAC_GREEN_AP_OBJS logic
Currently UMAC_GREEN_AP_OBJS are added to OBJS when
CONFIG_QCACLD_FEATURE_GREEN_AP is enabled. An upcoming change requires
that assignments to OBJS be unconditional, so relocate the condition
to wrap the assignment of UMAC_GREEN_AP_OBJS.

Change-Id: If3e3a97d39c7f347c2ff91bcd3db86675dcaa664
CRs-Fixed: 2867913
2021-02-18 21:16:09 -08:00
Jeff Johnson
58744b93a3 qcacld-3.0: Kbuild: Cleanup UMAC_CRYPTO_OBJS logic
Currently UMAC_CRYPTO_OBJS are added to OBJS when
CONFIG_CRYPTO_COMPONENT is enabled.  An upcoming change requires that
assignments to OBJS be unconditional, so relocate the condition to
wrap the assignment of UMAC_CRYPTO_OBJS.

Change-Id: I28ca48d6876307814ce440a3fe53cb8f8df1d42f
CRs-Fixed: 2867906
2021-02-18 21:16:04 -08:00
Jeff Johnson
c84d00b667 qcacld-3.0: Kbuild: Cleanup DP_OBJS logic
Currently DP_OBJS are added to OBJS when CONFIG_LITHIUM is enabled.
An upcoming change requires that assignments to OBJS be unconditional.
Fortunately most of the assignments to DP_OBJS are already protected
by this feature. Update the logic so that all of the assignments are
protected, and remove the condition from the OBJS assignment.

Change-Id: Icc7d015831d8940bf1d91335be1439a70965801f
CRs-Fixed: 2867900
2021-02-18 21:15:59 -08:00
Jeff Johnson
8d228e2915 qcacld-3.0: Kbuild: Assign hal_rx_flow.o to HAL_OBJS
Currently hal_rx_flow.o is assigned to DP_OBJS, but since this is a
HAL file, change the assignment to HAL_OBJS.

Change-Id: Ie7c56300d3dd60b52305b5b3c7ace58c6e8cdb57
CRs-Fixed: 2867882
2021-02-18 21:15:53 -08:00
Jeff Johnson
7842d0ea1e qcacld-3.0: Kbuild: Cleanup TXRX3.0_OBJS logic
Currently TXRX3.0_OBJS are added to the OBJS aggregation only when
CONFIG_WLAN_FEATURE_DP_RX_THREADS is enabled. However only one of the
object files, dp_rx_thread.o, should be controlled by that feature.

Update the logic to conditionally add dp_rx_thread.o to TXRX3.0_OBJS,
to encapsulate all TXRX3.0_OBJS assignments within CONFIG_LITHIUM,
and unconditionally add TXRX3.0_OBJS to OBJS.

Change-Id: I6ceeafeab43a960277a1870daff5566288199ada
CRs-Fixed: 2867843
2021-02-18 21:15:48 -08:00
Jeff Johnson
addb7e7a6f qcacld-3.0: Kbuild: Refactor ol_txrx_event.o rule
There are currently two different places where ol_txrx_event.o is
added to the final target object list. As part of ongoing Makefile
cleanup consolidate these to a single location.

Change-Id: Id342ae771830f5fd4d65c6c5523c36f1e50bc941
CRs-Fixed: 2867841
2021-02-18 21:15:41 -08:00
Vevek Venkatesan
626134274d qcacld-3.0: enable HAL_DELAYED_REG_WRITE_V2 and LOCK_LESS_ACCESS
Enable FEATURE_HAL_DELAYED_REG_WRITE_V2 support for Tx rings
register writes and QCA_OL_DP_SRNG_LOCK_LESS_ACCESS support
for Rx rings register writes, for moselle platforms.

Change-Id: I6b2469d22a37a097fa721269d311c0076c3b89a0
CRs-Fixed: 2873528
2021-02-17 00:12:16 -08:00
Vulupala Shashank Reddy
9641d7366a qcacld-3.0: Add compilation flag of pkt capture mode for lithium
Add compilation flag of packet capture mode for lithium

Change-Id: I0a0cd43d3846761c18224c79068f2ec16179d735
CRs-Fixed: 2845616
2021-02-16 00:30:05 -08:00
Aditya Kodukula
9a50111208 qcacld-3.0: Add flags to the BUILD_TAG
Pass a new flag to the Kbuild and add a compile flag
to enable the BUILD_TAG information.

Change-Id: Ic9bc331b64e7cbf627f5f99758f4d556328cda10
CRs-Fixed: 2865654
2021-02-12 12:47:08 -08:00
Rajeev Kumar
4ed9bb97d5 qcacld-3.0: Remove date and time from build tag
To improve build time performance remove date and time
embedding from wifi DLKM Kbuild config.

Change-Id: I465699005b0e5eee762f528a8d8f102c1987b18e
CRs-Fixed: 2855334
2021-02-12 12:47:04 -08:00
Vevek Venkatesan
dd76fbe75d qcacld-3.0: decouple bw monitor from WDI3_STATS_UPDATE
Decouple BW monitor from WDI3_STATS_UPDATE and add as a
separate feature flag WDI3_STATS_BW_MONITOR.

Change-Id: I77fb5658d995daceaada6a7d64f669da706ead9c
CRs-Fixed: 2868582
2021-02-03 20:21:05 -08:00
Manikanta Pubbisetty
7d2fdac225 qcacld-3.0: add history for FST locking
Adding history to track the FST lock/unlock events; this
would come in handy in debugging deadlock issues.

Change-Id: I40f783e72e516330fdf71ac91553bc7c4338b82a
CRs-Fixed: 2854397
2021-01-25 12:06:13 -08:00
Jinwei Chen
12afdcda9f qcacld-3.0: enable macro for monitor mode rssi conversion
enable DP_MON_RSSI_IN_DBM macro for monitor mode rssi
conversion.

CRs-Fixed: 2848120
Change-Id: Idd54f8658611a766ade17700b38904c90d1d4241
2021-01-08 15:13:51 -08:00
Yeshwanth Sriram Guntuka
94fd18736f qcacld-3.0: Enable PCI link status sanity for Lithium
Enable PCI link status sanity for Lithium.

Change-Id: I767a467a4b70435037f5ccce9e740f95f8b6112a
CRs-Fixed: 2821831
2021-01-08 08:58:00 -08:00
Pragaspathi Thilagaraj
18865d3253 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-16 19:08:37 -08:00
Gururaj Pandurangi
a266ccd8f0 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-12-09 06:31:52 -08:00
Rakesh Pillai
e7e35075ab qcacld-3.0: Mark packets to be sent to FW in control block
Classify the ICMP request packet and mark it to be
sent to the firmware in the packet control block.

Add an INI which indicates the time interval for
marking the ICMP requests to be sent to FW.
For the INI value:
-1, indicates to mark all ICMP requests to be sent to FW.
0, indicates that none of the ICMP requests will be sent to FW.
> 0, indicates the time interval for marking ICMP requests
     to be sent to FW.

Change-Id: Ia9c41765cef64a4f5fd19019df595c9e7fd657e9
CRs-Fixed: 2826444
2020-11-25 17:36:37 -08:00
Bapiraju Alla
9effb48c05 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-24 12:37:31 -08:00
Bapiraju Alla
807d167810 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-20 02:52:08 -08:00
Rakesh Pillai
464a2892ec qcacld-3.0: Enable support to send ICMP pkt to FW
Enable the support to send ICMP pkt to FW at a
regular interval.

Change-Id: I0b8828b31550973590dd222cc1fbaee52daaf88a
CRs-Fixed: 2813173
2020-11-10 14:23:00 -08:00
Srinivas Dasari
20fa7d67af 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-06 10:00:41 -08:00
Kai Liu
7c45c7d1fb 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-11-02 17:38:34 -08:00
Abhishek Singh
a2705649c9 qcacld-3.0: Remove inactive connection manager code
Remove inactive connection manager code.

Change-Id: I0a3ae1e67916bd0215d8f783b37688450f410681
CRs-Fixed: 2807911
2020-10-29 05:29:21 -07:00
Nisha Menon
d2cf0aa501 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-19 19:35:14 -07:00
Yeshwanth Sriram Guntuka
09eebb82df 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 19:35:11 -07:00
Abhinav Kumar
93b889498a 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 23:57:31 -07:00
Abhishek Ambure
1d44c2f944 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-08 22:58:43 -07:00
Visweswara Tanuku
0833f12ad0 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-08 17:41:25 -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
Jingxiang Ge
e1d285c75e qcacld-3.0: Add wakeup source tracker
Enable debug for wakeup source tracker.

Change-Id: Id840beed56c80f35e70213bc6ecb41b8b068a04f
CRs-Fixed: 2760398
2020-08-31 17:20:56 -07:00
Arun Kumar Khandavalli
92d2e8b530 qcacld-3.0: Add thermal mitigation support for moselle
For older targets thermal mitigation is supported for the apps.
In moselle there a new processor wpps on which firmware runs,
this commit adds the support for the thermal client wpps.

Change-Id: I89896dce808807486ef56b90812369f3d5f4b270
CRs-Fixed: 2757566
2020-08-24 22:03:56 -07:00
Srinivas Girigowda
40c4c9bff8 qcacld-3.0: os_if: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2752355
Change-Id: Ib186841ca387ccc84584864286681c23e3b34756
2020-08-22 16:00:12 -07:00
Wu Gao
29e2a9cec8 qcacld-3.0: Define DBR_MULTI_SRNG_ENABLE if platform isn't Moselle
DBR_MULTI_SRNG_ENABLE is used to init DBR for both bands of DBS chip.
Some pltforms won't set CONFIG_CNSS_QCA6750 to n if chip isn't
Moselle. This change defines DBR_MULTI_SRNG_ENABLE if
CONFIG_CNSS_QCA6750 isn't equal to y.

Change-Id: I0cf726b542196c57d90cf38ec0db0f4ab38d3358
CRs-Fixed: 2759775
2020-08-21 11:42:15 -07:00
Ashish Kumar Dhanotiya
28c271caa5 qcacld-3.0: Enable CONN_MGR_ADV_FEATURE by default
Add a change to enable CONN_MGR_ADV_FEATURE feature by default.

Change-Id: I72770eb9384e20fdb3f72991eb036aeea5148a08
CRs-Fixed: 2758659
2020-08-20 23:08:02 -07:00
Yu Tian
d9280a5dc5 qcacld-3.0: Change feature flag name
Change feature flag name due to address alignment is
required from HW design perspective

Change-Id: Ia80b6371f50db144336aeaaf2db2ecdc77ac0380
CRs-Fixed: 2748507
2020-08-18 20:14:43 -07:00
Manjunathappa Prakash
5bf1513217 qcacld-3.0: Override EAPOL BC Tx frame with AP mac addr
Take care to update the EAPOL Tx frame DA with AP mac addr if
DA is broadcast address as EAPOL BC doesnot make sense.

Change-Id: Id58b7b7971f5a7c11de0b46c6189a6e6ad1917ab
CRs-Fixed: 2745826
2020-08-14 12:34:39 -07:00
Min Liu
f7d6bc2675 qcacld-3.0: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: I636221b0bc0e28180c97cd269440a7c733716a1d
CRs-Fixed: 2680618
2020-08-14 04:12:10 -07:00
Alan Chen
38888ae732 qcacld-3.0: Add a sysfs replacement for dl_mode commands
As part of WEXT replacement, replace dl_loglevel, dl_mod_loglevel,
dl_modoff, dl_modon, dl_report, dl_type, dl_vapoff, dl_vapon with
a sysfs file.

file path: /sys/class/net/wlanxx/dl_loglevel
file path: /sys/class/net/wlanxx/dl_mod_loglevel
file path: /sys/class/net/wlanxx/dl_modoff
file path: /sys/class/net/wlanxx/dl_modon
file path: /sys/class/net/wlanxx/dl_report
file path: /sys/class/net/wlanxx/dl_type
file path: /sys/class/net/wlanxx/dl_vapoff
file path: /sys/class/net/wlanxx/dl_vapon
        wlanxx is adapter name

example: echo 1 > dl_loglevel
example: echo 1 > dl_mod_loglevel
example: echo 1 > dl_modoff
example: echo 1 > dl_modon
example: echo 1 > dl_report
example: echo 1 > dl_type
example: echo 1 > dl_vapoff
example: echo 1 > dl_vapon

Change-Id: Ic3d748738d0072e42b7ff07177f2ca711b333193
CRs-Fixed: 2715053
2020-08-13 06:13:20 -07:00
Visweswara Tanuku
6363f77af4 qcacld-3.0: Set twt ap sta count in target config
Provide defines in Kbuild to set twt ap sta count
in target config

Change-Id: Ie7be53d2cb003c1176b6dec26d22f833288308c0
CRs-Fixed: 2730789
2020-08-13 02:09:53 -07:00
Amruta Kulkarni
1e49d2c36e qcacld-3.0: Prevent link down for SAP on DFS channel
For SAP on DFS channel, the PCIe link down should be prevented
so that HalPhy can access DDR memory to report Radar found event.

Change-Id: Ia256d5df4d59071830d09c3f4821d73196327128
CRs-Fixed: 2740443
2020-08-12 13:56:26 -07:00
Chaoli Zhou
7786bdec47 qcacld-3.0: Enable MULTI_IF_NAME for dual driver case
Update MULTI_IF_NAME while DYNAMIC_SINGLE_CHIP is not
"wlan" to support dual wlanhost driver load case

Change-Id: Id7c4e7b6e8c14fe0ba64b3187ec46f7b248058cb
2020-08-12 04:33:32 -07:00
Manjunathappa Prakash
dfed37f892 qcacld-3.0: Add config flag to deliver defrag frames
Add config flag to deliver defrag frames without REO reinjection.

Change-Id: If18adecc5b1f48c42ac116bc66dfa26eb73122ac
CRs-Fixed: 2745406
2020-08-10 20:29:39 -07:00
Will Huang
73574ad2d8 qcacld-3.0: Define max number of keep alive pattern at one place
Currently there are 2 places where max number of keep live pattern
are defined:
1.  #define WMA_MAXNUM_PERIODIC_TX_PTRNS 6
And it can be configured by CONFIG_CFG_MAX_PERIODIC_TX_PTRNS.
2. #define MAXNUM_PERIODIC_TX_PTRNS 6
And it is hard coded value.

It is possible to have different values defined on some platform,
so we might give tgt_cfg->num_keep_alive_pattern value as 2,
but still allow more than 2 keep alive patterns adding to target,
where assert might happen.

Fix it by defining max number of keep alive pattern at one place.

Change-Id: I70ec3fa2e56a39cf8086750d966d95e41b2b75a7
CRs-Fixed: 2745443
2020-08-10 06:00:35 -07:00
Yu Tian
636f42c23a qcacld-3.0: Allow drop pkts when pending is large
On some cases, dp_rx_thread can not handle nbufs in time,
then a large number of packets are pending in
rx_thread->nbuf_queue, which run out of system memory at
last and failed to malloc new buffers for refill buffer ring,
fw crash is encountered. To avoid this, drop RX packets when
the pending number becomes large.

Change-Id: Ie4e001dc584821cf68253aa3a15a5fd72394c736
CRs-Fixed: 2737181
2020-08-06 04:24:45 -07:00
Ashish Kumar Dhanotiya
bcdfd80f6b qcacld-3.0: Add connect-disconnect infra for connection manager
Add connect, disconnect and roam files for connection
manager infrastructure

Change-Id: Ia0f624db11d4ba52a4d7f79c19c3be8c37121f88
CRs-Fixed: 2739397
2020-08-05 06:33:09 -07:00
Saket Jha
c2c66700ac qcacld-3.0: Add PM QoS CPU affinity support on 5.x kernel
Enable PM QoS support for 5.x kernel by adopting dev PM QoS APIs to
request device structures for CPUs and then requesting QoS on those CPU
devices.

Change-Id: I9c7565b44a72145e11178fe360f413ff578142cf
CRs-Fixed: 2734025
2020-08-05 04:23:58 -07:00
Utkarsh Bhatnagar
e2df5dee72 qcacld-3.0: Add config feature CONFIG_WAPI_BIG_ENDIAN
Add configuration feature CONFIG_WAPI_BIG_ENDIAN to
enable or disable BIG ENDIAN WAPI configuration based
on device type.

This was done as newer chipset firmware expects the
WAPI seq in big endian format and to maintain backward
compatibility with the older chipset firmware.

Change-Id: I972ca89e601b706e53408b0751c265d0aa311029
CRs-Fixed: 2746749
2020-08-03 22:51:23 -07:00
Karthik Kantamneni
4a7bc29161 qcacld-3.0: Enhance logging in RX path to check refill failures
Enable logging feature which helps to check rx ring refill failure.

Currently rx ring refill count is updated same time from multiple
places without protection, so use atomic variable for refill count.

CRS-Fixed: 2740225
Change-Id: Icd88d351cb15d0f18edf0b986e4de95dbe4e6989
2020-08-02 00:02:47 -07:00
Manikanta Pubbisetty
b5334b1bf6 qcacld-3.0: enable RX buffer pool for QCA6750
Enable RX buffer pool support for QCA6750. This will be utilized
during low memory conditions.

Change-Id: I8cee1e0996c81f3c4c408a22923d5107f4d014c3
CRs-Fixed: 2731507
2020-08-01 13:13:15 -07:00
bings
1939a20df7 qcacld-3.0: Split wlan.ko into wlan_resident.ko and wlan.ko
Module is saved in specified memory location when loading. In some
third platform, after rmmod/insmod wlan.ko for a while, wlan.ko may
fail to load due to memory fragmentation.

Split wlan.ko into wlan_resident.ko and wlan.ko. Keep wlan_resident.ko
in kernel all the while and trigger insmod/rmmod only on wlan.ko.

wlan_resident.ko contains all the module realization while wlan.ko
only contains module init/exit.

Change-Id: Iaeb6d810293cc000de8d6ec1df5cd985cef0c317
CRs-Fixed: 2727941
2020-07-31 14:12:51 -07:00
Rakesh Pillai
d80422e788 qcacld-3.0: Featurize dynamic rx agggregation feature
Dynamic rx aggregation feature depends on the context
id which is obtained from the packet context block.
This context id is invalid when this feature is not
enabled, and hence can lead to out of array access/write
leading to memory corruption.

Fix this issue by not using the context id when the dynamic
rx aggregation feature is not enabled.

Change-Id: Ie551217409b0f5aa2f704f9c617949e0d42a74d0
CRs-Fixed: 2742653
2020-07-31 09:53:45 -07:00
Abhishek Ambure
0f8ab4e3cb qcacld-3.0: Enable FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT for LITHIUM
To support "no dbs intraband MCC" feature for LITHIUM target, enable
FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT flag in Kbuild.

Change-Id: I2f94d99fae0ec31dd8e5056397e59be3478b7540
CRs-Fixed: 2739080
2020-07-28 15:41:09 -07:00
Rakesh Pillai
9cde7595c4 qcacld-3.0: Enable rx descriptor nbuf sanity for perf build
Enable the sanity check for rx descriptor nbuf
even for the perf build.
Also enable the rx rings history.

Change-Id: Ib127029009d0657ea51d3592af6a42f3de210c16
CRs-Fixed: 2739120
2020-07-25 06:02:25 -07:00
Abhishek Singh
e34b54a7b7 qcacld-3.0: Remove older scan filter params
Remove older unused scan filter params and code related to it.

Change-Id: Ia1c9612e2be22ef2dada8be01cc404ec15318359
CRs-Fixed: 2737925
2020-07-22 21:35:03 -07:00
Wu Gao
c455bb3201 qcacld-3.0: Rename file about enhanced cfr
This Kbuild change is about rename file of enhanced cfr.

Change-Id: I78d12998d5d320be7cd1e033dc04e88aa7402ddd
CRs-Fixed: 2734636
2020-07-20 19:26:24 -07:00
Manjunathappa Prakash
73abd412bb qcacld-3.0: Handle raw frames and invalid flow_idx frames
Enable handling to drop the raw Rx frames as both driver and stack
is not expected to handle them.
Handle invalid FISA flow index which is out of valid FISA flow_id range,
This can happen if we are looking at wrong or invalid TLV, in such case
it is OK deliver frame without FISA aggregation.

Change-Id: I746d4ad1ea5ba6d60cbadddb55803626abfb2868
CRs-Fixed: 2733978
2020-07-20 04:46:39 -07:00
Huashan Qu
7277418aa5 qcacld-3.0: Move rso related process to connection manager [PART 1]
Add macro ROAM_OFFLOAD_V1 for new code and implement below functions
for connection manager roam part:

csr_handle_roam_state_change() roam offload state related handler.
Filling WMI_ROAM_SCAN_RSSI_THRESHOLD cmd parameters related process.

Change-Id: I0351155ca5a3d68ade6568c7527c5708582ccf1a
CRs-Fixed: 2730826
2020-07-18 18:13:31 -07:00
Srinivas Girigowda
987834feb7 qcacld-3.0: Rename file name and function name for sysfs 'stats'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'stats'

Change-Id: Iffc390d4865977f9eff72a6a4bcf708c014f482e
CRs-Fixed: 2731064
2020-07-17 23:59:38 -07:00
Srinivas Girigowda
d3255f634e qcacld-3.0: Rename file name and function name for sysfs 'range_ext'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'range_ext'

Change-Id: Icf7ebbbcf1b8b219e64d1c9b98f1946069f91322
CRs-Fixed: 2731064
2020-07-17 23:59:34 -07:00
Srinivas Girigowda
d39a796a98 qcacld-3.0: Rename file name and function name for sysfs 'wlan_dbg'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'wlan_dbg'

Change-Id: I7d0e7b67afa701abd64efb62012c218ee4ab158d
CRs-Fixed: 2731064
2020-07-17 23:59:30 -07:00
Srinivas Girigowda
64d1d78340 qcacld-3.0: Rename file name and function name for sysfs 'fw_mode_config'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'fw_mode_config'

Change-Id: Ia389fa8807bbd0e58de58c503d9f3bbbef9ec707
CRs-Fixed: 2731064
2020-07-17 23:59:26 -07:00
Srinivas Girigowda
837ca7fad6 qcacld-3.0: Rename file name and function name for sysfs 'scan_config'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'scan_config'

Change-Id: I6621cbe5571541d073072ef9e0348d771fd3bc4a
CRs-Fixed: 2731064
2020-07-17 23:59:22 -07:00
Srinivas Girigowda
36b00847fc qcacld-3.0: Rename file name and function name for sysfs 'radar'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'radar'

Change-Id: If13effc45323f5a286d8aeb7a8e27848cb3e618b
CRs-Fixed: 2731064
2020-07-17 23:59:18 -07:00
Srinivas Girigowda
c9933da318 qcacld-3.0: Rename file name and function name for sysfs 'tx_stbc'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tx_stbc'

Change-Id: I274c1405fab7385202431b48d65603c38783222b
CRs-Fixed: 2731064
2020-07-17 23:59:14 -07:00
Srinivas Girigowda
fe1406f727 qcacld-3.0: Rename file name and function name for sysfs 'tdls_peers'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tdls_peers'

Change-Id: If6aa504dccd22ce0ccff11f3d73ffb1eedb5895c
CRs-Fixed: 2731064
2020-07-17 23:59:11 -07:00
Srinivas Girigowda
82f61cee0f qcacld-3.0: Rename file name and function name for sysfs 'sta_info'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'sta_info'

Change-Id: Ibb13c1496ea1dd5bc3b024b99414ac8d72db3be6
CRs-Fixed: 2731064
2020-07-17 23:59:07 -07:00
Srinivas Girigowda
0770581b30 qcacld-3.0: Rename file name and function name for sysfs 'temperature'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'temperature'

Change-Id: I8f31d59be9954d3ffe1ff7c11d16dd24b9e2644d
CRs-Fixed: 2731064
2020-07-17 23:59:03 -07:00
Srinivas Girigowda
57d6d48573 qcacld-3.0: Rename file name and function name for sysfs 'monitor_mode_channel'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'monitor_mode_channel'

Change-Id: Ic207d6e29c14a0b33ed4982d533a78729d32a4ba
CRs-Fixed: 2731064
2020-07-17 23:59:00 -07:00
Srinivas Girigowda
5883ffbcba qcacld-3.0: Rename file name and function name for sysfs 'channel'
Rename file name and modify function names to keep it inline
with sysfs attribute name 'channel'

Change-Id: I9c73e572bdb80edc3431180448dffd9843d6a720
CRs-Fixed: 2731064
2020-07-17 23:58:56 -07:00
Rakesh Pillai
4009119bf0 qcacld-3.0: Enable rx descriptor cookie invalidate
Enable the build flag to check and invalidate
the rx descriptor cookie

Change-Id: Idb2f55ac876025dceff28778a40b5468bf9688b9
CRs-Fixed: 2730961
2020-07-17 23:58:52 -07:00
Sandeep Singh
0615ee270f qcacld-3.0: Enable both SNOC and IPCI PLD layer for ICNSS2
ICNSS2 platform driver is used for moselle and adrastea which uses
IPCI and SNOC PLD layer, respectively. Add support to enable both
for ICNSS2 based to target flag.

Change-Id: I06fbacade99b09c9ea7347aa28e10968eaeedaa8
2020-07-13 23:39:24 -07:00
Wu Gao
7a5b681708 qcacld-3.0: Add wow support for TDLS
Prevent wow if TDLS is started, allow wow if TDLS link disabled. This
feature is enabled only if lithium plaform isn't drv supported.

Change-Id: Ie66d62cb139fe9a1d292925a78f2dd861f16ef69
CRs-Fixed: 2716922
2020-07-10 05:38:44 -07:00
Guisen Yang
f1d329345f Revert "qcacld-3.0: Include config file only after override"
This reverts Change-Id: I11164995061ee057dfcb3abaef2af2f2d33bfd23.
We need the override configuration in defconfig file. The reverted
change actually disabled the override mechanism. Revert this
change so that the override config will take effect.

Change-Id: I0ffcdcb112e4054dbc2961ba414371fbe5a9e1c3
CRs-Fixed: 2714158
2020-07-09 03:03:42 -07:00
Abhishek Singh
4b9273d712 qcacld-3.0: use crypto from vdev to fill the scan filter
use crypto from vdev to fill the scan filter.

Change-Id: I2c4bd9b85d9dac14c4d331a84cc7f3307d06818d
CRs-Fixed: 2718080
2020-07-08 00:09:34 -07:00
Mahesh Kumar Kalikot Veetil
5552a6e7bf qcacld-3.0: Add microseconds to BUILD_TAG
Some of the post processing tools need high resolution timestamps in the
build tag to differentiate WLAN driver modules in the same build. Add
current time with nanoseconds rounded to the first 6 digits, which is
microseconds. Also fix the 'date' command format.

e.g. date -u +'%F %T.%N %Z'
     2020-06-25T17:40:43.919224370 UTC

Change-Id: Ie2a8af4dad2aead5738a4c710a201fe9674999f7
CRs-Fixed: 2719008
2020-07-07 16:23:09 -07:00
Pragaspathi Thilagaraj
6b525a4f72 qcacld-3.0: Add support to compile connection manager STA+STA roam API
Enable compilation of the connection manager roam files with
Kbuild changes.
Add new API to store and retrieve the firmware scan channels at
mlme. Also add initial support to post SET_PCL command through
lim, so that it is not sent before ROAM init command.

Add changes to restrict connection of the 2nd STA to
channels on the other band of the 1st STA connected band.
This is done by filling only the allowed band channels in
the scan filters for the 2nd STA connection. If only
1 STA is active, it is allowed to connect on any band.

Add header gaurds for missed header files:
wlan_cm_tgt_if_tx_api.h
target_if_cm_roam_offload.h

Change-Id: Id2bce12b9663ed635ea46164169b088461aab870
CRs-Fixed: 2720341
2020-07-07 07:24:47 -07:00
Chaoli Zhou
275c200717 qcacld-3.0: Fix compile error if disable CONFIG_WDI_EVENT_ENABLE
Do not compile ol_txrx_event.c if set CONFIG_REMOVE_PKT_LOG=y
and CONFIG_WDI_EVENT_ENABLE=n with Hasting

Change-Id: I475e1d4bda818cdef66d961cb95d0193b27029f6
2020-07-07 07:24:43 -07:00
Mohammed Siddiq
335ba9e938 qcacld-3.0: Add code to support modularizing ICNSS ICNSS2 and CNSS2
Add code to support modularizing ICNSS, ICNSS2 and CNSS2.

Change-Id: I696715592f6000f2a64f8940f324b699acd5fcf1
CRs-fixed: 2685412
2020-06-29 07:38:04 -07:00
gaurank kathpalia
56993c8df9 qcacld-3.0: Add make file changes for connection manager
Add make file changes for connection manager.

Change-Id: Ifea0426e3ac4a2c43ce64967375cc5f99855394f
CRs-Fixed: 2713471
2020-06-27 06:18:14 -07:00
gaurank kathpalia
67b87cbde5 qcacld-3.0: Move BSS scoring logic to connection manager
Move bss scoring logic to connection manager.

Change-Id: Ie7639853dec303133705c3394bf0577670000c21
CRs-Fixed: 2707108
2020-06-26 11:08:47 -07:00
Yeshwanth Sriram Guntuka
0c04652083 qcacld-3.0: Add sysfs entry to dynamically control GRO
Add dp_aggregation sysfs entry under the wifi sysfs
directory to dynamically control aggregation in the
rx direction.

Change-Id: Ic7b13806f5fbd19fe5c56cabdf71d032b730448c
CRs-Fixed: 2718131
2020-06-25 16:46:47 -07:00
Rachit Kankane
9e015a6b45 qcacld-3.0: Define flag for no interband MCC
Define new Kbuild flag FEATURE_NO_DBS_INTRABAND_MCC_SUPPORT

Change-Id: I3fe79b1f77aa1432ab38f9c42faa3f37cffb84e6
CRs-Fixed: 2711491
2020-06-25 13:17:47 -07:00