Commit Graph

17367 Commits

Author SHA1 Message Date
Roopavathi Lingampalli
fe86f0e080 qcacmn: Implement SWLM feature support for DP Component
Add DP component swlm support for cmn folder

Change-Id: I393c2f1a2b6182e651e7079874a5e949e256fb75
CRs-Fixed: 3243911
2022-07-27 13:26:24 -07:00
Himanshu Batra
3d142e75de qcacmn: Fix compilation error by using correct variable
Fix compilation error by using correct variable

Change-Id: I97cb4222e7cc25e320757708432b66d660a94ddf
CRs-Fixed: 3252847
2022-07-27 13:26:17 -07:00
Neha Bisht
173f9e6b1d qcacmn: Use cpu index for tx. ring id
The list of SW descriptors that we create from the HW descriptors 
in DP Tx completion path is corrupted in intra-bss path. This is causing a
crash when corrupted descriptor is accessed.
The cause of corruption seems to be due to incorrect rings being accessed. 
Use cpu index to fetch tx. ring IDs.

Change-Id: I5342b7c4e24df983900fde79f36df8395bf628cb
CRs-Fixed: 3223420
2022-07-27 09:25:33 -07:00
Devender Kumar
71cf1a4856 qcacmn: Fix for peer authorize check
When EasyMesh feature is enable at compile time but not at runtime,
then the peer authorization is not proper.
Fix is to check for peer authentication irrespective of feature enable
at compile or runtime.

CRs-Fixed: 3252225
Change-Id: I5790e054c838114318f6e819a164b0a8c7b94c83
2022-07-27 07:23:02 -07:00
Bing Sun
d0385d035d qcacmn: Fix CFI failure caused by dfs_remove_from_nol
The parameter of callback of kernel struct hrtimer is itself, not
qdf_hrtimer_data_t. CFI failure happens if the function pointers
does not have the same type as the function that's called.
Add a new API __qdf_hrtimer_cb and assign it to hrtimer->function.

Change-Id: I9cf753272dd37635e82defac6cf7258c7a70425d
CRs-Fixed: 3245385
2022-07-27 07:22:54 -07:00
Aravind Kishore Sukla
d7c3414ca0 qcacmn: Add back port flag for multi AKM connect support
Add logic to set back port flag based on Linux kernel version
for multi AKM connect support.

Change-Id: Ia2365afc678edf025f63d4d3c0fc963c97193eb8
CRs-Fixed: 3246135
2022-07-27 07:22:47 -07:00
Chaithanya Garrepalli
b34fe34b48 qcacmn: Add WAR to get the vdev in invalid peer path
For QCN9224 splitphy mode do not rely on rx_desc_pool_id
to get to the VDEV as desc pool is common across PDEVs

Change-Id: I2552878bd56696a8df463b35e2b273ed4e591050
CRs-Fixed: 3220690
2022-07-27 05:36:47 -07:00
jinbaoliu
b4db8c7ec0 qcacmn: Adopt print_rl to limit the PN error print
Use hal_debug_rl to limit the PN error print when lots PN
failure packets received, to avoid RX process slow down.

Change-Id: If3b008343d0cc273e4c5b718accd620c4deefeb5
CRs-Fixed: 3248037
2022-07-27 05:36:40 -07:00
Nidhi Jain
69b1820753 qcacmn: Add support for wmi halphy stats event path
Added event path support for halphy stats.

CRs-Fixed: 3242406
Change-Id: Ic4820f20ad09a027cec3ae11d746d8bcc084872a
2022-07-27 03:52:52 -07:00
Nidhi Jain
12d44924a6 qcacmn: Add support for wmi halphy stats
Add support for halphy stats through wmi control path.

Change-Id: I1bf8f49104e23ae64596d8979d91c616a336da98
CRs-Fixed: 3236891
2022-07-27 03:52:45 -07:00
syed touqeer pasha
c2a5c7ec7e qcacmn: Get the peer from the AST entry for SAWF
Get the ast entry and peer from MAC address

Change-Id: I16e423de5a8535c13cc07db602be6ad596784029
CRs-Fixed: 3243870
2022-07-27 01:59:39 -07:00
Santosh Anbu
c49d6a32c8 qcacmn: Support for ADD/DEL of AST for MLO peer
Support for addition of AST entries for MLO peer event.
Deletion is handled implicitly

Change-Id: Id1caa85370fac847d18dc3bcbecad726bf927d0f
CRs-Fixed: 3251691
2022-07-27 01:59:32 -07:00
Shiva Krishna Pittala
caa7965659 qcacmn: Update the Detector ID to mode table based on FW_PARAMS event
Currently, we are hardcoding the detector ID to mode table for different
chipsets. Starting QCN9224, the target sends information regarding the
detectors participating in that Spectral session in the FW_PARAMS event.
Use that to update the Detector ID to mode table.

Change-Id: Ic09358e0c3b9ac0166b39f5ce445a83697146d4a
CRs-Fixed: 3253076
2022-07-27 01:59:24 -07:00
Shiva Krishna Pittala
98b4eee3ac qcacmn: Add support to build Spectral detector list for split-PHY mode
Currently, the Spectral detector list building logic assumes that only
5 GHz or 6 GHz participates in SBS modes. With Split-PHY mode in QCN9224,
even a 2.4 GHz radio can participate in SBS mode.
So, consider this case as well while building the detector list.

Change-Id: I99c841584c52785e94c8ee1b0d59494cbdd37f42
CRs-Fixed: 3252986
2022-07-27 01:59:16 -07:00
nobelj
09bc440ca9 qcacmn: Add support for tx monitor full buffer and minor fix
Add support and handle tx monitor full buffer payload and
other minior fix include change of name for uniformity.

Change-Id: If401ecd5e1c6263584fa7013df672459c883ca8b
CRs-Fixed: 3215244
2022-07-26 18:03:44 -07:00
Shwetha G K
af37507eba qcacmn: Add new MLO teardown reason/status codes
Add teardown cleanup done and teardown status ongoing
definitions required for mode-1 target recovery feature.

CRs-Fixed: 3247410
Change-Id: Ifdbf7bac21303778f2dbfa34012f452c04e76405
2022-07-26 11:29:59 -07:00
Sajini R
bb7fef80bc qcacmn: Add qca5332 target register structures
Add register structures for qca5332 target.

Change-Id: I66a9855bf849374f26de12fa27a0d938d0f39a9f
CRs-Fixed: 3249489
2022-07-26 08:04:00 -07:00
Sai Rupesh Chevuru
3e5493ad79 qcacmn: Avoid accessing of ml context during non ML peer connection
In the case of non ML peer connection attempt avoid
accessing of ml context.

Change-Id: I7a9b3dee24c0aac8bc9de34574a7aa65620a65ba
CRs-Fixed: 3247440
2022-07-26 06:01:03 -07:00
Rakesh Pillai
32375d2717 qcacmn: Increase the FISA skid length to 16
At 802.11BE 320 MHz throughputs, flow collision and
the resultant flow eviction can lead to throughput
degradation. Skid length is a parameter which can be
used to reduce these continuous flow eviction from the
FISA flow table.

Increase the FISA flow table skid length to 16 to reduce
the chances of flow eviction from FISA flow table.

Change-Id: I3badcb364d45b19a8a266fe335df320c30f999ae
CRs-Fixed: 3232508
2022-07-26 06:00:56 -07:00
Edayilliam Jayadev
dc98426f33 qcacmn: Reorder the structure members to avoid padding
Reorder the structure members to avoid overhead due to padding.

CRs-Fixed: 3248064
Change-Id: If26877df21dc061a81e079aca59adcf693e5a1ae
2022-07-26 06:00:50 -07:00
Shwetha G K
05aacf97e5 qcacmn: Do not wait for teardown completion in SSR
In case of SSR, do not wait for the teardown completion.

CRs-Fixed: 3247401
Change-Id: Ib81eeff8a81134d3108c7d74bb78974f89adf3c4
2022-07-26 03:56:50 -07:00
Yu Wang
56ebf2707b qcacmn: add support for VA based minidump
Before GKI enforcement and driver modulization, vendor drivers’
data section was part of vmlinux and they were registered with
minidump and collected when crash happens.
With GKI, vendor modules’ data section is part of va-malloc
region, which is virtually contiguous but physically not. It
is difficult to fit into the existing PA based minidump framework.
New VA-minidump driver allocates some CMA region which is registered
as one entry in minidump infrastructure. During panic, the driver
creates an ELF which is based on VA, copies it into that CMA region,
and finally it gets dumped as md_KVA_DUMP.bin.
This change makes use of this VA-minidump framework and implement
the APIs accordingly.

Change-Id: Ib1282990c91408bcd4e68365afe694830b90d0ac
CRs-Fixed: 3232060
2022-07-26 01:48:03 -07:00
Jianmin Zhu
b67f4a7465 qcacmn: Fix 6 GHz bss beamformee score 0 issue
Since 6 GHz bss doesn't support vht, can't get beamformer cap from vht cap,
beamformee score is always 0. 5 GHz bss has vht and beamformee score, so
always win 6 GHz bss of same mld if other conditions are same when select
candidate by score.

To fix it, for 6 GHz bss, get beamformer cap from eht cap.

Change-Id: Ic057928876a6ee58a96c3881d004886d0ac0d3fa
CRs-Fixed: 3249097
2022-07-25 22:33:10 -07:00
Jianmin Zhu
a7a1ff47f1 qcacmn: Fix wrong score if channel width isn't 20N MHz
Some operating class like 81, channel spacing is 25, need convert
channel width to 20 to get right score when select candidate.

Fix some code style issues too.

Change-Id: I15795d016cae74b7596a199ae2883aeababaf081
CRs-Fixed: 3250207
2022-07-25 22:33:03 -07:00
Devender Kumar
6e12b33067 qcacmn: Create a new API to update wdi hdr type for IPA
Create a new API to update wdi hdr type for IPA and Fix
the return type for cdp call.

CRs-Fixed: 3246990
Change-Id: Ic8adb1f46bfeda6598a01ffdda27339cfa04ee9d
2022-07-25 14:02:17 -07:00
Divya R
f464dd0f89 qcacmn: Remove function reg_is_offload_enabled
Remove function reg_is_offload_enabled as its redundant function of
reg_is_regdb_offloaded.

Change-Id: Ib526a9a3fecbd9edee3fa4cebc04c2fd06a54033
CRs-Fixed: 3242777
2022-07-25 08:22:11 -07:00
Deeksha Gupta
b75f0b1100 qcacmn: Fill mlo connect resp parameter if connection is successful
In connect resp, while sending the connect resp indication to supplicant
fill mlo parameters only if connect resp status is successful

Change-Id: Ifa1baf34deaffff68e98b81bd20a4939aaec170f
CRs-Fixed: 3250884
2022-07-25 08:22:04 -07:00
Rohan Dutta
8df93e3dd4 qcacmn: add null check on connect req params
Add null check on connect req params before
invoking cloning of rsn/rsnx ies for mlo stations

Change-Id: I651683ad7eb6a5c0404feee321402ac1f39edcfc
CRs-Fixed: 3234326
2022-07-25 05:14:03 -07:00
Madhavan Ganesan
60b98ddd10 qcacmn: check monitor vdev is valid before attaching
Monitor vdev attach is called both AP and Monitor VAPs
AP vap creation are started prior to monitor install.
So, add the check to determine whether valid monitor vdev or ap vdev.

Change-Id: If7a83a6826499574f88a4a1220ba3642c028f66a
CRs-Fixed: 3240300
2022-07-25 05:13:54 -07:00
Himanshu Batra
a2f709fa4f qcacmn: Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT
Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT to represent
the feature supported under this macro

Change-Id: Ie1e387d641052cd5690c63f0c1216f4852544605
CRs-Fixed: 3250264
2022-07-25 05:13:47 -07:00
Rakesh Pillai
81603fe08c qcacmn: Fix format specifier for macro which uses BIT()
BIT() is unsigned long int, and is being printed using
an incorrect format specifier. This leads to a compilation
failure.

Fix the format specifier for macro which uses BIT().

Change-Id: I42a71c3c4a388285809ad17dc62a50bf2df13a5f
CRs-Fixed: 3249816
2022-07-25 05:13:39 -07:00
Rakesh Pillai
7b3009b0e5 qcacmn: Add fisa_bypass flag in flow tuple info
Add a field "bypass_fisa" to indicate that the
current flow is not to be added to the flow table.
This is used for short lived UDP flows.

Change-Id: Ib8dbd9d03da0e97f09f0a95e3f9655fe3b5b97a2
CRs-Fixed: 3249829
2022-07-25 02:03:16 -07:00
Hariharan Ramanathan
16630d2422 qcacmn: Hal related changes for QCA5332
1. Changes to move hal_tx_config_rbm_mapping_be function from common to
device specific as it has ppe related snippets.
2. Changes to remove all PPE related codes in QCA5332 hal code.
3. Changes to correct macros according to fw_hrs.
4. Changes to move functions with device specific Macros to header files
so that it gets compiled with respective device's FW headers and gets
correct Macros

Change-Id: I479b406f318aa42d2b1032349aaf42d95b8c18e5
CRs-Fixed: 3235966
2022-07-25 02:03:09 -07:00
Amit Mehta
7e799fcbae qcacmn: Fix Rx packet logging issue
Currently while sending nbuf to rx fate logs
we are not removing rx tlv before sending nbuf
to logger which is causing issue of incorrect
packet type issue.

To Fix issue make changes to make sure that
rx tlv is removed and nbuf length is set

Change-Id: Ib56c8e009398b3410c43be910feb4048bfb06b54
CRs-Fixed: 3241828
2022-07-24 23:07:50 -07:00
Santosh Anbu
82fd1e58e2 qcacmn: Add support to delete AST on BE platforms
Add change to support deletion/cleanup of AST entries on host
for BE platforms(Waikiki) based on peer map and unmap event received
from FW.

Change-Id: I494f7beb572e81cf68cc1cf90864eea0d8125369
CRs-Fixed: 3237943
2022-07-24 17:26:03 -07:00
Santosh Anbu
d08af7b6f7 qcacmn: Add support for addition of AST on BE platforms
Add change to support addition of AST entries on host
for BE platforms(Waikiki) based on peer map and unmap event received
from FW.

Change-Id: Ib9a76fd15d18e322b561ce9361d62643289817c4
CRs-Fixed: 3237940
2022-07-24 17:25:56 -07:00
syed touqeer pasha
18f8aed530 qcacmn: Initialize the host ast database flag
Initialize the host ast entries database flag.

Change-Id: If948374417fcfabe313c014235674ccc571f520d
CRs-Fixed: 3243776
2022-07-24 15:47:29 -07:00
Jianmin Zhu
855490e8eb qcacmn: Use cfg to force band of assoc link
For WFA test, use cfg to force band of assoc link

Change-Id: I503bd87aca7341af4b7805c37e3667eb405d3cd8
CRs-Fixed: 3248005
2022-07-24 15:47:22 -07:00
Amrit Sahai
9c5c78e17e qcacmn: Event Based Mechanism to Reduce Delay
Event based mechanism to reduce delay by removing sleep
while getting response from firmware

Change-Id: I9d553764127efaf06794f41c81cf646cf9dc695e
CRs-Fixed: 3233643
2022-07-24 04:41:11 -07:00
Gururaj Pandurangi
e305f83430 qcacmn: Validate vendor IE len in util validate API
Add check to validate vendor IE length in util validate
reporting STA IE API to avoid OOB read.

Change-Id: I1cdd8eced7b5ffcecde6f0337eb45fc90077932f
CRs-Fixed: 3236561
2022-07-24 04:41:04 -07:00
Srinivas Pitla
ce514f7963 qcacmn: Add NULL checks to prevent invalid access
Currently, in few instances the MLO peer APIs are called
with invalid ML peer pointer.

This change prevents NULL pointer access and clears MLO
flag for peer.

Change-Id: I8bcdae1d71655f7ed267cc5bc3f6d0fc51e930df
CRs-Fixed: 3245158
2022-07-24 04:40:58 -07:00
Jinwei Chen
9b323ded29 qcacmn: Support RX T-put simulation for KIWI
Duplicate X times of RX packet before delivering to stack, if OTA
RX T-put is 100 Mbps and try to simulate 200 Mbps RX T-put,
duplicate extra 1 time RX packets, this is aimed to test
driver/stack RX capability.

Change-Id: Iaf4db05d0ec0e0cda5fac19fa63b9d3133270847
CRs-Fixed: 3132743
2022-07-24 01:02:01 -07:00
Edayilliam Jayadev
ac49d3b35a qcacmn: Rate limit error prints in mgmt Rx REO module
Rate limit error prints in management Rx reorder module.

Change-Id: I2f88554885568378082abd0bc41914118bb1269c
CRs-Fixed: 3249638
2022-07-24 01:01:55 -07:00
Venkateswara Naralasetty
333ae2374e qcacmn: fix invalid rx desc pool access
Only one rx desc pool is used for MCL for Rx data. Pool_id from
the SW cookie is used to get the rx desc from the corresponding
rx desc pool. Checking pool_id against MAX_RXDESC_POOLS may lead
to kernel NULL pointer dereference Since, pool_id other than 0
is not valid for MCL.

Fix this issue by checking pool_id against MAX_PDEV_CNT
to get the rx desc from rx desc pool.

Change-Id: Ib9b152ac2cfe2c16d388aca9e22440fbcdf7fe6c
CRs-Fixed: 3244453
2022-07-23 21:04:56 -07:00
Krishna Rao
3cc8ee5529 qcacmn: Shorten err strings in helper for defragmentation
Shorten the strings in error prints in the helper that carries out
802.11 element/subelement defragmentation. This is in order to
decrease the size of the modules generated as required for some
platforms.

Change-Id: Idd37ea59467aa5ebc3928f336f05b603e5d7f6f5
CRs-Fixed: 3248821
2022-07-23 21:04:50 -07:00
Krishna Rao
18774495ac qcacmn: Shorten err strings in helper for frag sequence info
Shorten the strings in error prints in the helper that determines
802.11 element/subelement fragment sequence information. This is in
order to decrease the size of the modules generated as required for
some platforms.

Change-Id: I5a15dc12404399c4670e0cb29205a728715f4923
CRs-Fixed: 3248813
2022-07-23 19:15:01 -07:00
Krishna Rao
607f20d387 qcacmn: Shorten err strings in helper for successor frags
Shorten the strings in error prints in the helper that determines
802.11 element/subelement successor fragments. This is in order to
decrease the size of the modules generated as required for some
platforms.

Change-Id: I4457e1228f848a52f9eea056541806220ff4e8da
CRs-Fixed: 3248806
2022-07-23 19:14:55 -07:00
Shreedhar Parande
e6b1ed7180 qcacmn: Read EML and MLD Cap from target
Extract EML and MLD Capabilities from Target via
wmi_service_ready_ext2_event. These values can be
used while advertising EML and MLD Capabilities.

Add helper function to get EML related delays in
Micro Secs from values got from EML and MLD advertisments.

Send EML Capabilities received from node to Target
via WMI_PEER_ASSOC.

CRs-Fixed: 3225495
Change-Id: Ibfa2ff8dbf11d4293125331376a7986e611d5f63
2022-07-23 19:14:48 -07:00
Linux Build Service Account
3262a03a31 Merge "qcacmn: Add support to process Spectral capabilities event" 2022-07-22 07:14:44 -07:00
Shiva Krishna Pittala
3567bb3b57 qcacmn: Add support to process Spectral capabilities event
WMI_SPECTRAL_CAPABILITIES_EVENTID event will be sent by the target SW to
indicate the different capabilities of the Spectral HW.
Add support to process this event and extract the capabilities.

Change-Id: I03b3236b6def98d24e77b2a9ea51ee866e62e6fe
CRs-Fixed: 3238450
2022-07-22 07:00:18 -07:00