Commit Graph

17333 Commits

Author SHA1 Message Date
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
Shiva Krishna Pittala
8ebf77e3aa qcacmn: Add UMAC HW reset event handler
UMAC HW reset is expected to receive the following 3 events from FW.
- DO_PRE_RESET
- DO_POST_RESET_START
- DO_POST_RESET_COMPLETE
Add necessary logic to handle these events.

Change-Id: I786ecf6ed2925fd7fcc0934fdce65c76784f4f67
CRs-Fixed: 3244865
2022-07-21 14:27:54 -07:00
Sai Rupesh Chevuru
40e06d213f qcacmn: Handling of multicast packets in MLO multi passphrase
In the case of MLO multi passphrase add GSN bsed support
to multicast packets.

Change-Id: I3b5bf8b611bd233141d677003905a8b5f18f9716
CRs-Fixed: 3203545
2022-07-21 14:27:47 -07:00
Himanshu Batra
7be2cf3775 qcacmn: Add support for vlan tagged traffic in IPA offload
In IPA offload, both tagged and untagged traffic cannot be handled with
a single rx pipe. Hence, add support for 2nd RX pipe for tagged and
untagged traffic respectively.

Change-Id: I77ff633327696f66df42fb592492321c1591646b
CRs-Fixed: 3226021
2022-07-21 11:02:34 -07:00
Himanshu Batra
7c3316638a qcacmn: Changes to support for vlan tagged traffic in IPA offload
IPA component changes to support for vlan tagged traffic in IPA offload

Change-Id: Ie28474537332d31f1ed1403ee0b774563a16a3ab
CRs-Fixed: 3229801
2022-07-21 11:02:26 -07:00
Shwetha G K
8c61283889 qcacmn: Fetch peer from sw_peer_id instead of ast_idx
Change to fetch peer details based on sw_peer_id instead of
ast_index.

CRs-Fixed: 3245246
Change-Id: Ibd525127b4678392712a1e57507a9576a78624f1
2022-07-21 11:02:20 -07:00
Yu Wang
c8ba5e36c8 qcacmn: add support for ACTION_OUI_EXTEND_WOW_ITO
Map ACTION_OUI_EXTEND_WOW_ITO to WMI_VENDOR_OUI_ACTION_EXTEND_WOW_ITO.

Change-Id: I2874e84fe88f1b4adfc6b579298937f353fa8900
CRs-Fixed: 3246877
2022-07-21 11:02:13 -07:00
Linux Build Service Account
364420b18b Merge "qcacmn: add mld address to auth params" 2022-07-21 09:47:30 -07:00
Linux Build Service Account
4bef82903e Merge "qcacmn: Fill in the subchannel frequency list even if it is an HT20 mode" 2022-07-21 09:47:29 -07:00
Srinivas Pitla
b39112e991 qcacmn: add mld address to auth params
This change adds MLD address to deferred auth params
as Auth req carries MLD address

Change-Id: I4a97299967bc052166f351ce041ccc8d13656e9e
CRs-Fixed: 3246869
2022-07-21 07:46:24 -07:00
Gerrit - the friendly Code Review server
596a4b7e24 Merge changes into wlan-cmn.driver.lnx.2.0 2022-07-21 07:46:04 -07:00
Jithender Miryala
7251cd10dc qcacmn: Fill in the subchannel frequency list even if it is an HT20 mode
Issue: mode was set to HT20 and marksubchannel was enabled. We injected
radar into the HT20 primary channel. The primary channel is not being added
to NOL when marksubchannel is enabled because the current subchannel
frequency list(freq_offset->freq[i]) is not being filled.

To fix this, Even if it is an HT20 mode, fill the subchannel frequency
list(freq_offset->freq[i]) based on offset.

Change-Id: I571ba60c755e7701a21db89f917c953ffa9716a6
CRs-Fixed: 3244971
2022-07-21 05:51:02 -07:00
Karthik Kantamneni
50c8489faf qcacmn: Add support to log latest CE descriptor history
Add support to log latest CE descriptor history which helps
to identify CE scheduling/reaping delays when full debug
history dump is not available.

Change-Id: I44a5c86a3e1dd4861bfd2e77b3f772d5d53bcedf
CRs-Fixed: 3225155
2022-07-21 05:50:56 -07:00
Jeevan Kukkalli
384c456371 qcacmn: Pass appropriate parameter while adding rx frag
Fix frag len and frag offset parameter interchange issue
while adding rx frag.

Change-Id: I6680f66715b558a9e8f58665e65494a8cb3783cb
CRs-Fixed: 3246599
2022-07-21 02:38:57 -07:00
Jinwei Chen
89bdae0fc0 qcacmn: Fix monitor status buffer double free issue
Currently in monitor mode for KIWI, interrupt for RXDMA2HOST is
enabled to process both monitor status srng and montior destination
srng, but low threshold interrupt for monitor status srng is also
enabled. so when available RX buffer in monitor status srng is less
then low threshold, it is possible that two kind of interrupt from
RXDMA2HOST ring and monitor status ring will call
dp_rx_mon_status_process_tlv() in different context and access to
mon_pdev->rx_status_q at the same time, this will lead to skb
double free issue.

solution:
(1) disable RXDMA2HOST srng interrupt in monitor mode.
(2) enable monitor status srng batch count interrupt for monitor
processing.

Change-Id: I1df8830cb7cc55468e5df5e49045c3d96f7c29a8
CRs-Fixed: 3245393
2022-07-21 02:38:50 -07:00
Himanshu Batra
52cd69199f qcacmn: Change return value to true if cm ctx is NULL
In case if cm ctx is NULL, the disconnect state check API is returning
false which makes the caller assume vdev is not disconnected.
Hence, change the return value to true in this case.

Change-Id: Iadd52d94d6f561974101aa245ddbfdb1eb301b06
CRs-Fixed: 3246161
2022-07-21 02:38:44 -07:00
Aakanksha Doda
6be39668f5 qcacmn: Change print level to avoid flooding of prints
Change print level from scm_err to scm_debug_rl to avoid
flooding of prints.

Change-Id: Iae82e8aa55b765860f994757fb035ddcb4342edf
CRs-Fixed: 3225542
2022-07-19 17:04:31 -07:00
Santosh Anbu
5bddbff670 qcacmn: Add support for host learning of AST on BE platforms
Add change to support learning of AST entries on host
for BE platforms(Waikiki) based on peer map and unmap event received
from FW.

Change-Id: I58aa6a18ca69d5ffc6fbcf9c18723adb39647950
CRs-Fixed: 3237934
2022-07-19 13:50:01 -07:00
Jinwei Chen
fdb2193820 qcacmn: add size parameter for dp_prealloc_get_context
add size parameter for dp_prealloc_get_context.

Change-Id: I0171124cf35010e793c18d4c8f6916497f053f8d
CRs-Fixed: 3222817
2022-07-19 13:49:54 -07:00
Paul Zhang
e6eb58971d qcacmn: set pdev id to 0xFF when set country code
From firmware perspective, host only sets 5 GHz regdomain hence 2 GHz
uses default setting and firmware does not update channel list event
for all phys according to the new country code.

Therefore sets pdev_id to 0xFF in function reg_set_country and it is
mapping to WMI_PDEV_ID_SOC when issue wmi command
WMI_SET_CURRENT_COUNTRY_CMDID as firmware required.

Change-Id: I0eb84db9f6d77c0473161cc4ffc0dcebd31c3d45
CRs-Fixed: 3239644
2022-07-19 08:46:57 -07:00
Jia Ding
c78b55df2c qcacmn: Define IPA TX ring indexes for WCN7850
As part of IPA offload support for WCN7850 chipset, properly define
TX ring indexes into soc->tcl_data_ring[] and soc->tx_comp_ring[]
used by IPA.

In the change, use wlan_cfg_get_rbm_id_for_index() to get correct
rbm values for WBM2SW ring used by IPA.

Change-Id: Ie5b6743c1cb2adfa156735fc84dc1429a67f833a
CRs-Fixed: 3246038
2022-07-19 07:06:51 -07:00
Sai Rupesh Chevuru
bedd18fa8b qcacmn: Enable NO_RX_PKT_HDR_TLV
Unsubscribe the PKT HDR TLV in RX path.

Change-Id: If37102569ba1963efd743c6508dc9c835b49bf01
CRs-Fixed: 3229821
2022-07-19 05:19:20 -07:00
VIJAY RAJ
0e1e696425 qcacmn: Add Roam reason and Roam sub-reason for Diag logging
The roam reason and roam sub-reason code sent and expected
reason codes at supplicant are diffent which results in
wrong interpretation of reason code.

Add roam reason and roam sub-reason code enum in order
to aid the converion from fw roam reason code to supplicant
understandable reason code.

Change-Id: I3432793965e325ddbf90ab90a1532a0726650d8c
CRs-Fixed: 3238496
2022-07-19 03:34:08 -07:00
Rahul Gusain
030e248d13 qcacmn: Add enum for OCI mismatch in disassoc reason
Added enum for OCI mismatch in disassoc reason

Change-Id: Iaf7a318ba629bba758c8f04bd404008678036a07
CRs-Fixed: 3235848
2022-07-19 03:34:01 -07:00