Commit Graph

17356 Commits

Author SHA1 Message Date
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
Jianmin Zhu
11ae3a31b7 qcacmn: QCA vendor attribute to configure RX link speed threshold for roaming
Add QCA_ATTR_ROAM_CONTROL_RX_LINKSPEED_THRESHOLD value as the RX link
speed threshold to disable roaming. If the current link speed is above
the threshold, there is no need to roam.

Change-Id: Ifeeacfa9d49de76c28fe968c1eb26b5036261c9a
CRs-Fixed: 3200264
2022-07-22 02:44:01 -07:00
Linux Build Service Account
9b70435b41 Merge "qcacmn: QCA vendor command for CoAP offload processing" 2022-07-21 23:40:41 -07:00
Linux Build Service Account
50e6ca7dfd Merge "qcacmn: Support for per peer UL Airtime metric in ATF stats" 2022-07-21 23:40:39 -07:00
Yu Wang
9788f23284 qcacmn: QCA vendor command for CoAP offload processing
Add vendor command QCA_NL80211_VENDOR_SUBCMD_COAP_OFFLOAD to
enable/disable offload processing in firmware for CoAP messages
(RFC7252: The Constrained Application Protocol) or fetch the
CoAP messages cached during offload processing.

Change-Id: I2eaeba58ec6bc44738f68eb00c36ebdce2eae6f8
CRs-Fixed: 3193633
2022-07-21 21:09:57 -07:00
Subrat Mishra
c667bb9d3c qcacmn: Support for per peer UL Airtime metric in ATF stats
Support for per peer Up Link Airtime metric in ATF stats.

Change-Id: Ic21239e5d1cbf337c11b35415f555c1f39e07143
CRs-Fixed: 3240833
2022-07-21 21:09:45 -07:00
Linux Build Service Account
d424ed2e08 Merge "qcacmn: Add support to populate and send UMAC reset setup command" 2022-07-21 19:17:14 -07:00
Linux Build Service Account
853ae3660e Merge "qcacmn: Add Host to target communication for UMAC HW reset" 2022-07-21 19:17:14 -07:00
Linux Build Service Account
9d4f858fa8 Merge "qcacmn: Add UMAC HW reset event handler" 2022-07-21 16:10:37 -07:00
Linux Build Service Account
fd62d7de42 Merge "qcacmn: Handling of multicast packets in MLO multi passphrase" 2022-07-21 16:10:36 -07:00
Shiva Krishna Pittala
68c2b67520 qcacmn: Add support to populate and send UMAC reset setup command
UMAC reset prerequisite setup command contains the following information.
- Interrupt number to be used for raising the UMAC reset interrupt
- Address of the shared memory
This is an HTT command. Send this command as part of the UMAC reset
initialization sequence.

Change-Id: I7a08f48b420580b5e3dbb9b46f6605d986f8fd89
CRs-Fixed: 3244930
2022-07-21 16:09:51 -07:00
Shiva Krishna Pittala
12964fb1de qcacmn: Add Host to target communication for UMAC HW reset
UMAC HW reset is expected to send the following Tx commands to the target.
- PRE_RESET_DONE
- POST_RESET_START_DONE
- POST_RESET_COMPLETE_DONE

Add the necessary logic for the same.

Change-Id: I2450ed9281691abcc064661d4481ae78f48a0f3d
CRs-Fixed: 3244895
2022-07-21 16:09:44 -07:00