Commit gráf

353 Commit-ok

Szerző SHA1 Üzenet Dátum
Srinivas Pitla
a238a3e04b qcacmn: Choose second highest bw link as primary link
This change selects psoc with second highest bw link as primary link
for first ML STA.

Change-Id: I1b60f83f695b04d533e4851b3751b8e1dfd9790c
CRs-Fixed: 3521765
2023-06-11 00:14:25 -07:00
Gururaj Pandurangi
2d67497cfb qcacmn: Add support to force power save the active MLO links
Add MLO manager and target interface support to force power
save on all the active MLO links for a defined number of
beacon periods. Force power save allows the firmware to
suspend STA links for X beacon periods and remain asleep
even if the AP advertises TIM as opposed to regular power
save mode where STA links wake up if the AP indicates that
it has buffered data to send.

Change-Id: Idb3ea42cfc2333a4b177780d09ddec6904ea0c16
CRs-Fixed: 3514468
2023-06-09 13:49:57 -07:00
Paul Zhang
cf19f91320 qcacmn: Fix compile issue on file wlan_mlo_epcs.c
Replacing ether_sprintf() with QDF_MAC_ADDR_REF() for
common usage.

Change-Id: I86a7169411af18f017fc3c0e27ce8a35f6ebd4a0
CRs-Fixed: 3519162
2023-06-07 04:31:29 -07:00
Venkateswara Swamy Bandaru
f4f5f1cb88 qcacmn: Add API to authorize/deauthorise mac address
Add APIs to authorize and deauthorise mac address for
EPCS feature.

Change-Id: I69ac46fe59de85ac57a6142b6a1ed710e02a8cca
CRs-Fixed: 3510154
2023-06-02 03:34:01 -07:00
Venkateswara Swamy Bandaru
2a20dc67d1 qcacmn: Update Priority access ML IE parsing
Update Priority access ML IE processing with below.
1. Check for ie header before updating sub elements
2. Add WME vendor IE parsing support

Change-Id: If479f95517946511d5e94feadf92a10c61efd2a6
CRs-Fixed: 3508861
2023-06-02 03:33:49 -07:00
Himanshu Batra
b7ad8efcf9 qcacmn: Add null check for connect req while handling deferred connect
Add null check for connect req while handling deferred connect

Change-Id: Iea54005240e5f8608d8da655e8f0fbc0d535291e
CRs-Fixed: 3506588
2023-05-30 23:56:16 -07:00
Venkateswara Swamy Bandaru
3e0b45fc11 qcacmn: Add priority access ML IE support
Add support to parse priority access multi link IE.

Change-Id: I7a226e0fd1a4d229d721244aeb675e1c09cc5ed3
CRs-Fixed: 3490404
2023-05-30 16:56:39 -07:00
Surya Prakash Raajen
37b9ea37d4 qcacmn: Alloc dp_mlo_ctxt only if its not allocated
Alloc dp_mlo_ctxt only if its not allocated, if dp_mlo_ctxt
is previously allocated reuse the same.

Change-Id: I666b3e6090afaa1ef4d20ff154c4b996a5eef51c
CRs-Fixed: 3510336
2023-05-29 01:38:50 -07:00
Aniruddha Mishra
4f5c422aa4 qcacmn: Add max simult links in peer_assoc_params
Add 'max_simultaneous_links' in peer_assoc_params
and send it to FW via peer_assoc_add_mld_params.

Change-Id: Ie4c3492cf03ef43e1bb02122019cda3679fb5f3a
CRs-Fixed: 3476565
2023-05-27 01:40:40 -07:00
Venkateswara Swamy Bandaru
eddd2583fb qcacmn: Add EPCS state machine support
Add EPCS state machine support per peer.
Based on user command trigger or EPCS action frame
EPCS state will change.

Change-Id: Ib516543cec6a7007f12680b0e86b9edbe223b68d
CRs-Fixed: 3491941
2023-05-26 18:16:51 -07:00
Srinivas Pitla
06ed8855eb qcacmn: Choose highest bw link as primary link
This change selects psoc with highest bw link as primary link
for first ML STA.

Change-Id: I7d71507df79070c7e975ed2f27cbadce707d9cd4
CRs-Fixed: 3509085
2023-05-26 08:15:54 -07:00
Venkateswara Swamy Bandaru
ece1e3a025 qcacmn: Fix EPCS status code size
Change EPCS status code size to 2 bytes as
per spec.

Change-Id: I0e45626d2a35d55947d5ebc269acf97269465ef9
CRs-Fixed: 3508758
2023-05-26 02:02:44 -07:00
Santosh Anbu
6b8aca7fb6 Revert "qcacmn: Consider vdev_id also along with link id for connected bitmap"
This reverts commit I097b6f672c4656bfa2892f102e50998065463516

Change-Id: If6fd8cdff1ec91ffe9d7be0b5b0d7b99f693e906
CRs-Fixed: 3508863
2023-05-25 04:22:48 -07:00
Amruta Kulkarni
0ca70c863e qcacmn: Add support to parse t2lm ie from assoc rsp
Store the copy of t2lm ie in mlo dev context and
apply t2lm config to FW when all links are up.

Change-Id: I87b2db9aba263634a558f24d99bf8e5bb91f2128
CRs-Fixed: 3504533
2023-05-24 21:40:26 -07:00
Srinivas Pitla
9beb7dfcab qcacmn: Maintain peer assoc sent flag for MLO link peers
This change adds support to set flag to indicate peer assoc
sent to FW. On peer delete, using the flag, it excludes
the peer assoc command missing link in peer delete command

Change-Id: Icb559941598a797e7d437fbb90a94358f709a2b3
CRs-Fixed: 3504769
2023-05-23 23:53:47 -07:00
Krunalsinh Padhar
674d313577 qcacmn: Improve ml_peer_count handling
Make ml_peer_count as qdf_atomic_t to handle the concurrency issues.

Change-Id: I96f2e3d5e17225d0354a1fd2e2b3a55c21d4a2fc
CRs-Fixed: 3500440
2023-05-23 19:54:21 -07:00
Surya Prakash Raajen
43057d2442 qcacmn: Prevent parallel start/stop of target/soc
Prevent start and stop process of target or soc, as it could
lead to issues for mlo enabled socs of that mlo group

Change-Id: Ib2b28443828cbc4be670f5bc8a69d4fecfc1c8b7
CRs-Fixed: 3500007
2023-05-23 19:54:01 -07:00
Venkateswara Swamy Bandaru
a86dd8a444 qcacmn: Add EPCS action frame parsing support
Add support for parsing of EPCS action frame.

Change-Id: I53c6e9fe7dd802c0b60170a3e441eb2ef5b8c659
CRs-Fixed: 3490403
2023-05-22 16:46:21 -07:00
Liangwei Dong
d430e6a706 qcacmn: Update multilink reconfig ie for ieee802.11be D 3.0
Update ML Reconfig ie parsing for D 3.0:
1.Add new common info length subfield in common info length.
2.remove STA profile subfield from Per-STA profile subelement
3.add STA info length and STA mac address subfields in the
STA info field.

Change-Id: I02988ae7a2098b0278438e26156475e2b4f9c4ab
CRs-Fixed: 3465406
2023-05-22 09:09:16 -07:00
Surya Prakash Raajen
6438a661f5 qcacmn: Export wlan_mlo_peer_deauth_init as symbol
Add support to export wlan_mlo_peer_deauth_init as
symbol.

Change-Id: I384f47cf72ae30c7cddc9b1c52c1745c2f8e447c
CRs-Fixed: 3498865
2023-05-22 07:06:34 -07:00
Bing Sun
2d2f50fbf0 qcacmn: Consider vdev_id also along with link id for connected bitmap
When STA roams from SLO to SLO, only vdev 0 should be set as connected
link, while vdev 1 should not be set as connected link.

Currently vdev 1 is set as connected link incorrectly because its link
id is 0 which is the same with the link id from roam sync event.

link id is not a unique parameter. All are 0 by default.
vdev id should be used because it is a unique parameter.

Change-Id: I097b6f672c4656bfa2892f102e50998065463516
CRs-Fixed: 3497124
2023-05-21 11:38:57 -07:00
Guru Pratap Sharma
998426711a qcacmn: Add qualifier flags in link preference structure
Add qualifier flags in link preference structure which represent
bit is set for TLT or preferred link

Change-Id: I85a5fee0a804f6803fa52b5052bbcf635a613025
CRs-Fixed: 3482281
2023-05-18 14:23:09 -07:00
Shashikala Prabhu
528a63c3ce qcacmn: Decrement num vdevs in the MLD on vdev detach
Decrement number of vdevs in the MLD on vdev detach.

Change-Id: I9040ac46d60e2e8738f6b3eaf46db6b72bad729c
CRs-Fixed: 3483554
2023-05-17 08:35:07 -07:00
Jhalak Naik
d563641c08 qcacmn: Add support for handling MLO TSF sync capability
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: I5dad3fef7ebfa2af330b95d45cac3bef862f46f0
CRs-Fixed: 3491364
2023-05-16 11:43:24 -07:00
Bing Sun
84d654cc7c qcacmn: Initialize local variable before using it
Do not use API to do variable initialization job.
Otherwise there is built error in some platform.

Change-Id: I489057a2753bf7bf091e87b902efa833ea90ece9
CRs-Fixed: 3471557
2023-05-14 22:57:48 -07:00
Surya Prakash Raajen
0fcbe55b8d qcacmn: Drop multiple teardown if already in teardown
Drop multiple teardown requests if mlo group is already in
teardwown phase

Change-Id: Id07ed50c2845b69c79bf6ccc4a6436eab8898532
CRs-Fixed: 3458369
2023-05-14 13:37:58 -07:00
Surya Prakash Raajen
cb01519700 qcacmn: Trigger UMAC reset with mode1 SSR teardown
Add support to trigger UMAC reset with mode1 teardown request
for mode1 target recovery SSR.

Change-Id: Ib2d1679162a2084488081c76f6753287a6e4d5c4
CRs-Fixed: 3458369
2023-05-14 13:37:48 -07:00
Srinivas Pitla
ca2acbe6bc qcacmn: Implement reassoc framework
This change processes Duplicate Assoc req from MLO Station
This would reuse old link peers and populate assoc req IEs.

This will fail, if Assoc link is not same as previous,
and number of links are not same as previous assoc req
processing.

Change-Id: I6a8c412b0bc484e8eb64ca794e54e080c391f7f8
CRs-Fixed: 3465223
2023-05-14 11:07:41 -07:00
Himanshu Batra
25e0531edd qcacmn: Add fix to validate disconnect req for MLO STA
In case of MLO, to avoid race between ongoing connect and a new
disconnect, add fix to validate disconnect req for MLO STA

Change-Id: I4b27a06103ffce637738b1894c3bdcf46533043c
CRs-Fixed: 3493915
2023-05-14 11:07:21 -07:00
Krishna Rao
4f26b0e43f qcacmn: Allow modification of ML Reconfig delete timer
Allow modification of ML Reconfig AP remove delete timer at non-AP MLD
even if the AP removal is already in progress. The standard does not
currently provide for modification of the delete timer countdown at AP
MLD. However, if the AP MLD does carry out such a modification in
scenarios such as those given below, the non-AP MLD would be out of
sync with the AP MLD. Hence, we allow this modification.

Scenarios:
- At our AP MLD, if non-Tx VAP removal is ongoing, and subsequently
removal of its Tx VAP is requested with Delete Timer smaller than that
of non-Tx VAP, then non-Tx VAP's Delete Timer gets overridden with
that of the Tx VAP (this is due to an existing standards limitation
which doesn't allow change of Tx VAP role).
- There could sometimes be an issue with AP MLD due to which it might
incorrectly prolong the countdown by some margin in situations such as
an intervening CSA operation, etc.
- Some future 802.11be draft change may (or may not) allow
modification of the delete timer. (We may not guarantee
interoperability between an AP MLD implementing a future draft and a
non-AP MLD implementing the current draft, but the current
implementation change contributes towards best-effort
interoperability).

Change-Id: I6abc7565a5822bb7206c873716f1e3fc6a04416e
CRs-Fixed: 3466313
2023-05-12 23:09:09 -07:00
Amruta Kulkarni
c16aa9d544 qcacmn: Add handling for mlo link disable event
Add code changes to handle new wmi_mlo_link_disable_event
Extract the wmi event params and store in host defined
structure.

Change-Id: I6893bfa4da7b27f4a9b1ce2936057bb3576a317c
CRs-Fixed: 3458680
2023-05-09 01:48:41 -07:00
Gururaj Pandurangi
a11201af17 qcacmn: Clear peer-level negotiated T2LM mapping
Clear the peer-level tid-to-link mapping and set
direction to invalid if-
1) Host receives updated T2LM info through
critical update.
2) There are two T2LM elements received in beacons
and mapping switch time expires for first mapping.
Apply the second mapping.
3) There is a single T2LM element and its mapping
switch time expires. Apply default mapping.

Also, initialize peer-level mapping structure
when a new peer is created.

Change-Id: I1d06ec5f2f5aa398724213a3be08b6588f78c9b0
CRs-Fixed: 3435329
2023-05-04 13:50:11 -07:00
Srinivas Pitla
aff0f6c15a qcacmn: Fix ML peer use after free access
This change fixes accessing of ML peer after it is freed

Change-Id: I0bf02d4996b6db3bd4d5720f0e177bd8bf56868f
CRs-Fixed: 3474594
2023-05-03 18:53:45 -07:00
Amruta Kulkarni
586ea4f8b0 qcacmn: Fix to not send T2LM info multiple times
Currently host is sending t2lm info to firmware multiple
times when mapping switch time expires.
Fix is to check if new beacon/prb response has updated
mapping before sending the t2lm information.

Change-Id: I10182652bf77ede2dd94bedbc1c3a76a6bc3a7ff
CRs-Fixed: 3438997
2023-05-02 17:59:05 -07:00
Venkateswara Swamy Bandaru
ad2d3b59e7 qcacmn: Add EPCS related related files
Create wlan_mlo_epcs.h and wlan_mlo_epcs.c files for EPCS
feature.

Change-Id: I49774a5b3124fef0848308a3101d099efd449e8c
CRs-Fixed: 3476996
2023-04-29 01:38:19 -07:00
Deeksha Gupta
5bb13e5887 qcacmn: Add changes to notify userspace whenever T2LM updates
From the driver, call wlan_mlo_dev_t2lm_notify_link_update()
API whenever there is a link update happens using T2LM.

Change-Id: I51be6eafcb558bcf54919bead8c93227c33be194
CRs-Fixed: 3431540
2023-04-26 08:24:10 -07:00
D Harilakshmi
eea6497c2c Revert "qcacmn: Add support for handling MLO TSF sync capability"
This reverts Change-Id:	Ie8ca48f8f6065f02eefaea85ad967e32d09787fc

Change-Id: I3cdd1a5748189811222fb5ba18d8dcb9a740c253
CRs-Fixed: 3470139
2023-04-25 12:06:23 -07:00
D Harilakshmi
16ee9380a1 Revert "qcacmn: Initialize local variable before using it"
This reverts Change-Id: I1cf105adb72f890f167343d491fff832a2e16729

Change-Id: I62a0bd51dba6dbbad52bc6e9b87c2a898ba65828
CRs-Fixed: 3471557
2023-04-25 01:49:27 -07:00
Linux Build Service Account
09f783fa3f Merge "qcacmn: Initialize local variable before using it" 2023-04-21 12:47:51 -07:00
Linux Build Service Account
70cae165fc Merge "qcacmn: Add support for handling MLO TSF sync capability" 2023-04-21 09:15:34 -07:00
SHIVAM KUMAR
54e48589ba qcacmn: Update the T2LM status code as 2 bytes
In the T2LM context status code was used as 1 byte.
As per ieee802.11 spec, Status code value is 2 bytes.
Hence, add the changes in T2LM code to use the status
code as 2 bytes.

CRs-Fixed: 3464786
Change-Id: I4dd54d8a12f3bb1ca493ee0e9b1ec20b3590d97b
2023-04-20 11:34:14 -07:00
Guru Pratap Sharma
42a7f2f1b4 qcacmn: Adding and parsing of bandwidth indication element
Adding and parsing of bandwidth indication element sub IE

Change-Id: I20fca6ecf370d5d20f0e6e8e4f873bf57da3d181
CRs-Fixed: 3464120
2023-04-20 00:15:51 -07:00
Bing Sun
54c039bf07 qcacmn: Initialize local variable before using it
Do not use API to do variable initialization job.
Otherwise there is built error in some platform.

Change-Id: I1cf105adb72f890f167343d491fff832a2e16729
CRs-Fixed: 3471557
2023-04-20 09:14:10 +08:00
Jhalak Naik
7acca67784 qcacmn: Add support for handling MLO TSF sync capability
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: Ie8ca48f8f6065f02eefaea85ad967e32d09787fc
CRs-Fixed: 3470139
2023-04-19 15:10:17 +05:30
Gururaj Pandurangi
1958f62e8a qcacmn: Add new wrapper API to send peer-level T2LM
Add a new wrapper API to send peer-level negotiated
tid-to-link mapping to FW as the existing API to send
the mapping received from the beacon/probe response
uses ML dev context whereas the new API uses ML peer
context.

Change-Id: Ifada5600e9524585c69847f332ed0280fd316813
CRs-Fixed: 3423127
2023-04-18 20:04:44 -07:00
Deeksha Gupta
28f7114375 qcacmn: Add new APIs to get t2lm info from vdev or peer obj
Add new APIs to get t2lm info from vdev or peer obj

Change-Id: Id1d3bf9ec88cb14574803ac952304a3103397799
CRs-Fixed: 3431479
2023-04-18 20:04:33 -07:00
Shreedhar Parande
9ec10780d7 qcacmn: Fix primary UMAC configuration for bridge peer
Use primary UMAC derivation logic for bridge peer case.

Rename mlo_get_primary_umac_vdev() to
mlo_get_link_vdev_from_psoc_id()

CRs-Fixed: 3454734
Change-Id: Ic732cc6e85b6d9f0d7bc8cea041642164952e304
2023-04-18 12:10:54 -07:00
Srinivas Pitla
4d1ebd3402 qcacmn: Fix duplicate allocation for aid mgr
For MBSSID, aid mgr is allocated twice in
few corner cases of VAP create.

This change adds check, if aid mgr is allocated
by legacy code in vap create, aid mgr allocation
would be skipped

Change-Id: Ie44fab12badb5c9487ce3de333376e1885e727d0
CRs-Fixed: 3461883
2023-04-13 13:59:24 -07:00
Santosh Anbu
be9367e046 qcacmn: Avoid deadlock between ML AP VDEVs bring up
1. Start response is received for vdev-0 and continues processing
mlo_sync_complete for partner vdevs holding ap_ctx lock and waiting
on vdev_sm lock of partner vdev
2. During which one of the partner vdev completes CAC_WAIT and continues
processing mlo_sync_complete holding vdev_sm lock and
waiting on ap_ctx lock. This scenario is resulting in RCU_STALL.

The last vdev in MLD to receive start response is responsible for
dispatching MLO_SYNC_COMPLETE event all the partner vdevs and then to self
If vdev_up_bmap is set, then return.

Change-Id: I5ae7146eeba5154331f442f9987593044bde76b4
CRs-Fixed: 3457019
2023-04-13 13:59:13 -07:00
Himanshu Batra
1611ebc3f4 qcacmn: Add API to get primary link id from ML peer
Add API to get primary link id from ML peer

Change-Id: I530cfad70067cea1e8907bc9d409331091f89f85
CRs-Fixed: 3455058
2023-04-10 03:08:11 -07:00