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
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
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
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
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