Implement metering stats quota to support ipa offload sta plus
sap wifi sharing use cases.
Change-Id: Ic9d5ad817ffb4d671a43f3f3aebb2d8cce293873
CRs-Fixed: 2517696
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
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
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
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
Enable direct buffer rx component in Kbuild since spectral scan gen3
based on this feature.
Change-Id: I8d44b35ca0d334917b3c052cc8ab4e47db34e4a1
CRs-Fixed: 2505676
Add support for WMI over QMI to reduce power consumption for
periodic stats report.
Change-Id: Iec725b357d9bcfa33029aedf7c568814499bc130
CRs-fixed: 2521826
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
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
This is a propagation of qcacld-2.0 commit 98821c7dcf49d ("qcacld-2.0:
Add CONFIG_MULTI_IF_LOG to support multi if log"). Add CONFIG_MULTI_IF_LOG
to support multi if log by assigning the specific netlink protocol
when dual wlan cards are loaded.
Change-Id: I3ea9574899c23a8d2ebbdea5b958cc3ad7947fe5
CRs-Fixed: 2525483
The bssId in struct sDphHashNode represent vdev_id and same can
be used from pe session which already has this info so remove
bssId param.
Change-Id: I47a7f27e95bfaa9ecd617cb531895601a27dfbf5
CRs-Fixed: 2530965
Add Feature Flag HIF_RECORD_RX_PADDR for Helium only to record
paddr for IOVA and virtual address in CE descriptor history.
Change-Id: I926fbd0fa74cc7e1488a5c7cac007a6432d50d2e
CRs-Fixed: 2528295
6 GHZ has introduced new set of frequency based APIs. Also there is
conditional usage of 6 GHZ band. Add configuration items for these.
Change-Id: I22703989ec7e6711af640f1f9d0afded46026b8a
CRs-Fixed: 2513098
The pktlog will fail with ROME module due to the change IDs:
I24776caa3b78ec38d94421f243ec72d81ee3102d
Ifb70ac0993f2402201f88758845f730cf677b1a0
Define new macro PKTLOG_LEGACY for HELIUM/ROME to avoid the ROME PKTLOG
failure.
Change-Id: Ibaa20b7af208a261e0fd8682de45ad8eb4a69212
CRs-Fixed: 2520696
Add Feature Flag HIF_RECORD_RX_PADDR for Helium to record
paddr in CE descriptor history.
Change-Id: I5a6af11fecc00a26d1a334a983290a00be34895c
CRs-Fixed: 2525667
The member of type_specific_data is not valid for ROME module. Add macro
protection for type_specific_data in the ath_pktlog_hdr to avoid offset
error when getting the msdu id info during processing pktlog TX info.
Change-Id: Icb8b95cef9a32732116522e4fc3b39067ff36037
CRs-Fixed: 2522277
Introduce a new Kbuild option 'WLAN_CFG_OVERRIDE' to override
wlan configurations.
Value of this option is a list, which includes the config items
those need to override, its pattern is as below:
WLAN_CFG_OVERRIDE="WLAN_CFG_1=n WLAN_CFG_2=y WLAN_CFG_3=n"
For LA build, it makes use of this Kbuild option, and introduces
new android build options for different products:
WLAN_CFG_OVERRIDE_wlan: for single wlan driver case.
WLAN_CFG_OVERRIDE_<chip>: for multiple wlan drivers case, for
example WLAN_CFG_OVERRIDE_qca6390 and WLAN_CFG_OVERRIDE_qca6174.
Change-Id: I8e062c62d36e076a79032a47aa04501d4543a9c8
CRs-Fixed: 2515905
In Genoa SDIO ADMA implementation Host sends packets to FW in
multiples of SDIO Block size.
If the packet/bundle is not block aligned Host adds padding at the
end of Packet/Bundle.
If the TX packet plus padding exceeds one FW TX Buffer, Padding data
will occupy the next FW TX buffer. Same applies for bundle TX packet.
For above scenario, HTC_FLAGS_PADDING_CHECK of HTC header Flags is used
to notify the FW that - Padding data follows the currentHTC packet
Since the padding data will take one extra FW Tx Buffer, host need to
handle the extra Tx credit being used by the padding data/buffer
CRs-Fixed: 2516619
Change-Id: Ie2d2292fabb30e1a13eebe4d11b57f452e42afa8
Use QCS40X instead of QCS405 in config files. Kernel defconfig files for
QCS405 and QCS403 has been separated recently, and the arch has been
changed between these two chips. But all QCS related features and changes
in cld should all be included, so use CONFIG_ARCH_QCS40X to replace
CONFIG_ARCH_QCS405.
Change-Id: I6f0837bb3d3f1530aea5b2d4912741beb8c313bd
CRs-Fixed: 2519267
Add configuration for gpio pin used to send strobe to wlan hw.
The host driver will latch the current time and toggle the gpio
to generate a strobe to wlan hw.
The tsf will be latched on detecting the strobe and it will be
made available in a register for sw access.
The wlan fw will read this tsf and report it to driver using tsf event.
Change-Id: I4365d97d22836ddbbd2bf9913d4f723e5a870369
CRs-Fixed: 2495152
Avoid compiling ol_rx_reorder.c and ol_rx_reorder_timeout.c
for low latency and only compile for high latency
data path.
Change-Id: I1f3819fa093766abba87e5dc6dc44e6d2188740b
CRs-Fixed: 2506005
Remove "CMN_VDEV_MGR_TGT_IF_ENABLE" from Kbuild as target_if common
code is used for vdev operations and legacy code is removed.
Change-Id: I15fb2311aa1b6eeec506d9a6bdc720abaf93244e
CRs-Fixed: 2507456
Enable Motion Detection Feature for Genoa USB interface
using config flag CONFIG_FEATURE_MOTION_DETECTION
Change-Id: If345705619f231d195d79e50a9bb2478641bd4df
CRs-Fixed: 2501957
Featurize DHCP indication for SAP and disable it
for QCN7605 as this feature is broken for HL
Data Path.
Change-Id: If1db649131d887a2aab18461187403b4b9a2c5b4
CRs-Fixed: 2496032
The SDIO HIF for QCN7605 requires to use the SDIO Abstraction Layer.
Used the SDIO CNSS2 PLD layer api's to interface with SDIO AL
Change-Id: I839a580941e4651e3dcff4f87cda26cc567687fc
CRs-Fixed: 2275631
Define void * data members of cp_stats with specific type, remove void
pointer usage for part of cp stats code.
Change-Id: Iace37c0a546909b865d5185830a2e02b5b39b7d8
CRs-Fixed: 2492544
As for Rome, currently it usually just only support two
IPA interfaces offload, if use the default value 3, which
will cause the IPA pipe setup failure issue. So export
the max IPA interface numbers, and it's better to set
the appropriate value from build file according to
different requirement for different chipset and platform.
Meanwhile, it support SMMU on the sa415 platform, so
enable SMMU for it.
Change-Id: I2de31bcb4d38f5e7964d2cbdc2fc6f143eef510d
CRs-Fixed: 2480627
Currently ext scan is enabled by default in driver which
is increasing driver size significantly and ext scan
is not getting used anymore.
Disable ext scan with feature flag CONFIG_FEATURE_WLAN_EXTSCAN
to reduce driver size.
Change-Id: Id0fdeae6e6b71f53d3b73322aca659254d52cec8
CRs-Fixed: 2491452
Enable macro DP_RX_PKT_NO_PEER_DELIVER to deliver some RX pakcets
like Eapol even if there is no related peer found, this is
needed for the LFR roaming case.
Change-Id: Ia732c6448319bca122d405d25f2af410df0f4d68
CRs-Fixed: 2491507
New added header file target_if_pub.h is introduced due
to remove void usage for objmgr module, add include path
for this header file to compile.
Change-Id: I4f79e6d3213941b86fbadd42934cd355bcd0a511
CRs-Fixed: 2488101
Enable following special 4 ports concurrency for Auto HST
platform.
(SAP+STA) (2.4G MAC SCC)+(SAP+STA) (5G MAC SCC).
Change-Id: I6ab34606a98c1e4a670de63e12e54f2becd4d1d4
CRs-Fixed: 2457713
The host driver serialization module currently supports upto 4
commands in non scan pending queue. This is calculated at the
wlan_serialization_vdev_create_handler() as:
max_pending_cmds = (WLAN_SER_MAX_PENDING_CMDS /
WLAN_SER_MAX_VDEVS)
But in SAP case, if multiple STA sends deauth at the same time,
4 pending commands in non scan pending queue is not sufficient
and will result in only disassoc from the first 4 STA getting
honored.
The current host wlan driver supports 3 SAP mode and
2 STA vdevs amounting to a total of 5 vdevs supported.
So calculate the total non scan pending commands for
serialization based on the total peers supported for each
mode to fix this issue.
In SAP case, maximum 32 peer are supported and for STA case,
maximum 4 pending commands for serialization. So change the
max pending commands calculation as:
max_pending_cmds = (No. of sap modes supported * 32) +
(No .of STA modes supported *4 )
Change-Id: I30b2d79f2c15a092060dbdd729e1d035eb36fd83
CRs-Fixed: 2468945
Check if host is reaping a descriptor which is already
reaped then drop RX desc processing instead of asserting.
Macro DUP_RX_DESC_WAR added before dp_rx_dump_info_and_assert function
which does not assert for the case WAR is enabled.
Change-Id: I8a095d33e4f7e868340d9a76618c064af764386d
CRs-Fixed: 2487793
Add feature flag PCIE_REG_WINDOW_LOCAL_NO_CACHE to support no
caching of PCIE register window value in driver.
Change-Id: I427b784de874464b98a2acf67b9850e1e41f65aa
CRs-Fixed: 2487158
This command is used to send OEM data binary blobs
from application/service to firmware.
Change-Id: I0b5d7dd5a030b70e59c8581fb51d99079b38385f
CRs-Fixed: 2477332
Currently there is no ini support to configure frequencies
which needs to be avoided for the acs channel list which
may allow SAP to come up on a channel which is not preferred.
For Example there are many legacy clients which supports
2.4GHz but don't support channel 12 and 13 (or does not have
the capability to detect country change where channel 12 and
13 is valid).
In that case, if SAP comes up on channel 12/13, those legacy
clients won't be able to connect to AP.
Hence, Add a feature flag and ini to configure the frequency
list which can be avoided during acs.
Change-Id: Id106b38228f837ba056eb916004dc012e919ddd2
CRs-Fixed: 2472004