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
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
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
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
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
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
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
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
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
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
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
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
Pass a new flag to the Kbuild and add a compile flag
to enable the BUILD_TAG information.
Change-Id: Ic9bc331b64e7cbf627f5f99758f4d556328cda10
CRs-Fixed: 2865654
To improve build time performance remove date and time
embedding from wifi DLKM Kbuild config.
Change-Id: I465699005b0e5eee762f528a8d8f102c1987b18e
CRs-Fixed: 2855334
Decouple BW monitor from WDI3_STATS_UPDATE and add as a
separate feature flag WDI3_STATS_BW_MONITOR.
Change-Id: I77fb5658d995daceaada6a7d64f669da706ead9c
CRs-Fixed: 2868582
Adding history to track the FST lock/unlock events; this
would come in handy in debugging deadlock issues.
Change-Id: I40f783e72e516330fdf71ac91553bc7c4338b82a
CRs-Fixed: 2854397
Increase the number of TWT peers allowed to 32 from current
default value of 2.
Change-Id: I9c081f602af059c940223ea2f66ea257a7d44f07
CRs-Fixed: 2825861
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
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
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
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
New files are created for 6ghz scan functionality. Add the same
for compilation.
Change-Id: I3f715db50fb5020afea74297794d07ddc5b39913
CRs-Fixed: 2806415
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
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
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
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
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
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
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
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
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
- 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
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
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
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
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
Change feature flag name due to address alignment is
required from HW design perspective
Change-Id: Ia80b6371f50db144336aeaaf2db2ecdc77ac0380
CRs-Fixed: 2748507
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
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
Update MULTI_IF_NAME while DYNAMIC_SINGLE_CHIP is not
"wlan" to support dual wlanhost driver load case
Change-Id: Id7c4e7b6e8c14fe0ba64b3187ec46f7b248058cb
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
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
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
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
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
Enable RX buffer pool support for QCA6750. This will be utilized
during low memory conditions.
Change-Id: I8cee1e0996c81f3c4c408a22923d5107f4d014c3
CRs-Fixed: 2731507
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
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
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
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
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
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
Rename file name and modify function names to keep it inline
with sysfs attribute name 'stats'
Change-Id: Iffc390d4865977f9eff72a6a4bcf708c014f482e
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'range_ext'
Change-Id: Icf7ebbbcf1b8b219e64d1c9b98f1946069f91322
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'wlan_dbg'
Change-Id: I7d0e7b67afa701abd64efb62012c218ee4ab158d
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'fw_mode_config'
Change-Id: Ia389fa8807bbd0e58de58c503d9f3bbbef9ec707
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'scan_config'
Change-Id: I6621cbe5571541d073072ef9e0348d771fd3bc4a
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'radar'
Change-Id: If13effc45323f5a286d8aeb7a8e27848cb3e618b
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tx_stbc'
Change-Id: I274c1405fab7385202431b48d65603c38783222b
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'tdls_peers'
Change-Id: If6aa504dccd22ce0ccff11f3d73ffb1eedb5895c
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'sta_info'
Change-Id: Ibb13c1496ea1dd5bc3b024b99414ac8d72db3be6
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'temperature'
Change-Id: I8f31d59be9954d3ffe1ff7c11d16dd24b9e2644d
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'monitor_mode_channel'
Change-Id: Ic207d6e29c14a0b33ed4982d533a78729d32a4ba
CRs-Fixed: 2731064
Rename file name and modify function names to keep it inline
with sysfs attribute name 'channel'
Change-Id: I9c73e572bdb80edc3431180448dffd9843d6a720
CRs-Fixed: 2731064
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
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
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
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
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
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
Add dp_aggregation sysfs entry under the wifi sysfs
directory to dynamically control aggregation in the
rx direction.
Change-Id: Ic7b13806f5fbd19fe5c56cabdf71d032b730448c
CRs-Fixed: 2718131