Add qualifier flags in link preference structure which represent
bit is set for TLT or preferred link
Change-Id: I85a5fee0a804f6803fa52b5052bbcf635a613025
CRs-Fixed: 3482281
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
Add support to trigger UMAC reset with mode1 teardown request
for mode1 target recovery SSR.
Change-Id: Ib2d1679162a2084488081c76f6753287a6e4d5c4
CRs-Fixed: 3458369
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
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
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
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
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
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
Some devices in WDS station mode have limitation when connected
in 3 LINK MLD association where the Primary umac selected and assoc
link should be same. Make sure to have a sanity check before
going for association in such cases.
If the primary umac and assoc links are set to be different then
the connection will be rejected.
Change-Id: If56461a140d4685ba279b1babe04709d919d1650
CRs-Fixed: 3443733
Add a flag WLAN_VDEV_FEXT2_MLO_STA_TDLS to mark whether
the vdev is used for TDLS or not.
It can use these API:
wlan_vdev_mlme_feat_ext2_cap_set(vdev, WLAN_VDEV_FEXT2_MLO_STA_TDLS);
wlan_vdev_mlme_feat_ext2_cap_clear(vdev, WLAN_VDEV_FEXT2_MLO_STA_TDLS);
tdls_vdev = mlo_get_tdls_link_vdev().
Change-Id: I89c50ad5321013993e798ebb5549c5015ac18969
CRs-Fixed: 3435963
Changes to incorporate link mapping size in t2lm control
field of t2lm ie per draft 3.0
CRs-Fixed: 3431897
Change-Id: I61834258e6348b6483a86eb9e9217e3d5997c2c9
Limit the AP-MLD association links to 3 currently.
More than 3 links will not be supported currently
for association.
Change-Id: I3cd6acda27d2f538172673a8d573367d77ee00b5
CRs-Fixed: 3435787
Add API mlo_is_ml_connection_in_progress.
When wpa supplicant enable/disable roaming, need check it to avoid race
condition issue.
Change-Id: I85cc9f8b542169563881c601a477f5c646629071
CRs-Fixed: 3430980
T2LM provisioned links of preferred link structure are represented as
bitmap of type wlan_link_band_caps enum. Hence, replace the datatype
'enum wlan_link_band_caps' with 'uint16_t'.
Change-Id: If6cdaf5b12a9bd8b06050db67464fb4db642883b
CRs-Fixed: 3429430
Add APIs to create bridge peer. Register call
back for the same to handle bridge peer
creation.
CRs-Fixed: 3416877
Change-Id: I51d8f023576c93121e42d54243721edbf705e6b4
Add API to retrieve ML peer context using peer MLD address
from the list of MLDs.
Change-Id: I7136e6b9cbcc96e897457c01c187965978e85d77
CRs-Fixed: 3422684
For 4 LINK MLO new API's for
1. Update chip info with the chip id and adjacent chip id's.
2. Given two psoc ID's return if two psoc are adjacent.
Sample topology
chip0
/ \
chip1 chip2
\ /
chip3
Above, chip0 has chip1 and chip2 as adjacent chips.
Change-Id: I7eafde7779e957bc8161ef37baa6077278800e81
CRs-Fixed: 3381066
In MLO scenario where start/cac response for partner ML AP vdevs are
processed simultaneously on different CPU cores, the order in which
the vdev sm lock is acquired may lead to deadlock.
To fix add change to have vdev up bitmap and process sync complete
only for those vdevs for which the bitmap is set
Change-Id: I9ca8b192edeb7d491be3a7acff30c2d3545a5417
CRs-Fixed: 3403603
The FW needs mlo_flags of partner links as well during Assoc
to handle more than 2-link MLO Association.
Extend the mlo target link info struct to pass them.
CRs-Fixed: 3403849
Change-Id: Ia426cf16a5d8cfa1f6e4117a0b372899642494c6
Added the structure to save the value of preferred link
which receive from the RM APP.
Change-Id: I4eb9430639d4a77c5f448d833d677948e6f19882
CRs-Fixed: 3393643
Add support for generating link specific assoc request/response
and probe response for 2+ mlo links.
Change-Id: Iadd09efeb0b0098baeae25f3b1968826e75dedc4
CRs-Fixed: 3049640
Add code to handle new set link state command -
MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE.
Change-Id: I4fad93e9e09309f7e8ac07f2e3c43a0aa6472a3a
CRs-Fixed: 3352970
Introduce two APIs which will change the RA, DA and BSSID fields
of 802.11 MAC header.
For any non-public action frame, supplicant will send RA, DA and BSSID
with MLD address which needs to be translated to link addresses to
transmit over the air. wlan_mlo_update_action_frame_from_user() API
will do the address translation from MLD to link.
If any non-public action frame is received over the air that needs
to be sent to userspace, the kernel expects MLD address in RA, DA
and BSSID fields. wlan_mlo_update_action_frame_to_user() API will
do the address translation from link to MLD.
Change-Id: Iab93dd1301003b78edf6d619cfbf552afa53ae7a
CRs-Fixed: 3394706
Add API to stop link reconfig timer on vdev or ml dev.
Add API to query the reconfig timer state.
Change-Id: I729d403122e4e84cdf0dced21c49176397e10e5d
CRs-Fixed: 3352937
In Multi-Chip MLO, FW is having memory constrain
while increasing the maximum supported MLO LINKS.
Reduce the values to avoid memory issue in FW
Change-Id: Id191f45f25de915e88ed1e12ae56d4a6e7b7095f
CRs-Fixed: 3391537
The kernel-doc script identified some documentation issues in
umac/mlo_mgr, so fix most of them. However some issues are due to
kernel-doc being unable to parse the qdf_bitmap() macro, so disable
kernel-doc in those cases.
Change-Id: I1c32ffae58aedbbafa2ab4c9e4faa33c426ea7b5
CRs-Fixed: 3380021
Add the code logic to save the BSS parameters change count (BPCC)
for critical update feature.
Change-Id: I3fafd44af8661d1dcf5d7bbde84d2729d390a44c
CRs-Fixed: 3324174
Change to allocate next available ML peer id
instead of using recently free peer_id
Change-Id: I493ef2d838d7880568462ae3e8024ae3be5f1ba7
CRs-Fixed: 3384320
Modify the mlo_mgr_ml_peer_exist() API to accept
pointer to vdev_id of the peer and rename as
mlo_mgr_ml_peer_exist_on_diff_ml_ctx().
The API returns true if the peer address matches on
any vdev which is on different ML dev context, if
match is found on same ML dev context the API will
return false.
If the peer address match is found but the pointer
to peer vdev ID is NULL, the API will return true.
Change-Id: I8045325f31850782551c7468aa1eac7c5f77fd69
CRs-Fixed: 3377752
- Add osif callback api to get scan ie params
- Made few mlo manager api's public
CRs-Fixed: 3288038
Change-Id: I15a764682b8164eb1b66adeff44d7e344f2563c3
- To invoke the API wlan_send_tid_to_link_mapping from other
files, change its static definition and add a function
declaration.
- Remove repetitive logging of T2LM params in
wlan_mlo_parse_t2lm_info API.
- HMT STA host needs to send T2LM mapping info to FW only
on one peer instead of both peers in case of WKK.
Thus, add new API under MCC flag to address this issue.
The original changes will remain under else case.
Change-Id: I2495fddca7dc5da253a6d10ab41b70cf7f627156
CRs-Fixed: 3373326
- Replace T2LM array in wlan_t2lm_context structure with established_t2lm
and upcoming_t2lm structures
- Mapping switch time is different for each AP vdevs. Hence, store the
value in vdev_mlme_proto_ap structure.
- Fix a few issues seen in mapping switch time expiry and expected duration
expiry.
Change-Id: Id69badc3f4bf5e5e741691348488369008ffc4e9
CRs-Fixed: 3369279
In MLO scenario where start response for partner ML AP vdevs are
processed simultaneously on different CPU cores, the order in which
the vdev sm lock is acquired may lead to deadlock.
To fix add change to dispatch the MLO_SYNC_COMPLETE under mlo_dev_ctx.
Change-Id: I86ef51fcc8d51277163fcc5a6afdee6d873f2e63
CRs-Fixed: 3368033