1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.
WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not
2. Register osif callback to send scan done indication to upper
layer
3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz
Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
Add variable and get / set APIs in VDEV mgr for STA + SAP / GO DFS SCC
scenario to track SAP / GO's channel switch before STA's channel switch
Change-Id: Ie13291602a5888942c71e3882c72796c7ea47378
CRs-Fixed: 3431360
As part of commit I7a08635a7912cbd940d90a2d62433296740ad913
a vendor command is added to enable roam stats event.
This change registers callback to send the added vendor
command event to userspace.
Change-Id: I6dc3f8357ace5bb3fa41b4aa116652a91b9fd924
CRs-Fixed: 3427397
Disconnect only non ML peers in CSA from non-DFS channel to DFS channel,
while keeping all MLO peers connected.
Change-Id: I7e8347cf4692b16b84ffbce4b102dd2f23bb70f0
CRs-Fixed: 3394219
Add mlme_vdev_reconfig_notify callback to notify the ML
reconfig link removal starting after receive the first
ML reconfig link removal IE.
Change-Id: I9ae37b7defc75c97e7bc39e07c9d154e1923aedd
CRs-Fixed: 3380159
The kernel-doc script identified some documentation errors in the
umac/mlme folder, so fix them.
Change-Id: I84617fe2007e51dcb009801ebc6cdf87c0d0a686
CRs-Fixed: 3381478
- Add osif callback api to get scan ie params
- Made few mlo manager api's public
CRs-Fixed: 3288038
Change-Id: I15a764682b8164eb1b66adeff44d7e344f2563c3
To support fixed channel SAP in unsafe channels, driver needs
to cache and retrieve SAP start mode i.e. ACS or fixed.
Add a new param is_acs_mode to vdev_mlme_mgmt_ap and APIs to
set and get the same through vdev.
Change-Id: Ib274b95be66e774b15f4687a02ed7fef6bf21056
CRs-Fixed: 3381401
- 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
Changes to handle dynamic link add for non-AP MLD.
Also add change to clear mlo cap for link removal of vdev.
Change-Id: I47e0bb77b7f32296e5745ffd53ce3a34ec35a63a
CRs-Fixed: 3346538
A SOC may have multiple 6 GHz pdevs. Per-pdev RNR-caches are required
to be able to support multiple 6 GHz pdevs in a SOC. Extend RNR-cache
support for the same.
Change-Id: I4db643c3f8fc52ad40fd0d4d04f2a0f9c221bcd8
CRs-Fixed: 3337706
Currently, if SR (Spatial Reuse) is supported by AP and then
STA roams to another AP then host needs to parse SR IE and
send events to userspace and commands to Fw based on below
scenarios:
i.) Roamed AP doesn't support SR: If roamed AP doesn't support
SR then async event with SR disable is required to be sent to
userspace.
ii.) Roamed AP supports SR: If roamed AP supports SR then below
validations are required.
a.) existing thresholds are in range of roamed AP: Send SR enable
command to FW with previous thresholds , as FW disables SR during
roaming.
b.) existing thresholds are not in range of roamed AP: then decision
will be based on whether threshold is provided during SR enable command
or not. If threshold is provided along with SR enable command then send
disable to userspace and in other case update thresholds as per roamed
AP , send async event to userspace with new configured values and send
enable command to fw with new thresholds.
Change-Id: I7eeebddbaa5075f0ba5d823f946b0cfa9d78c1c6
CRs-Fixed: 3331049
Add vdev callback to notify once the vdev has entered into
MLO_SYNC_WAIT state.
Change-Id: I655bfa68d666807468cacf1a0a052ac6ddf0b8d6
CRs-Fixed: 3338519
To check the allowed dot11 mode of the VDEV, add new member to
struct vdev_mlme_proto hold this value.
Change-Id: I5bfbff0ab3056013a997744b8e9ce0b4d0a3d43b
CRs-Fixed: 3314403
Send BSS color and partial BSSID bitmap to fw when SR
enable is sent to FW, so that FW can classify the srg
and non-srg colors.
Change-Id: I44711fd7e7cc05867d042a04e783ae29b04b388a
CRs-Fixed: 3304796
Add support to set / get SRG min and max pd threshold
offset, SR disable / enable due to concurrency in vdev mlme.
This will be used to verify that PD threshold provided by user
is with in the AP range or not and it will be used to send the
data to userspace whenever queried.
Incase when single MAC concurrency is not supported with SR,
these VDEV mlme variables will also used to enable / disable
SR at dynamically.
Change-Id: I024b31950d9a5c0f5086972e91db440b23ed712f
CRs-Fixed: 3304789
Handle SR enable vendor command as part of which
send PD threshold value provided by userspace
check the range of the provided threshold,
if threshold lies with in SRG or NON-SRG
range then provide the threshold sent by
userspace else send the MAX of SRG and NON-SRG
offset advertised by AP.
Change-Id: I428a933cc324446fdb4f18f535f1b78228d504fa
CRs-Fixed: 3304779
For STA MLO connection, the AP can send M1 right after assoc
response on assoc link, which will trigger sending keys to FW
for mlo links, but it can happen that wmi_peer_assoc is not
sent for mlo link until this time.
Current code does not have handling for this case.
To solve this, store the link vdev keys and send them once
link vdev is connected.
Change-Id: I882da96280711ca9cfa4d6ba852fda4a8b6d7a77
CRs-Fixed: 3293692
Allow peer create and association only when full ACS
scan is complete for any link in an AP MLD.
Change-Id: I54d60f31c2521c87fb715b23fc3e0ea7e6100248
CRs-Fixed: 3232153
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID: Add support
for a new roam command to get vendor control parameters
from FW. Host needs to send proper param ID in command
(from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID)
to get corresponding INI value from FW.
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID:
Add support for a new roam event to get param value
from FW. FW sends this event upon receiving
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID command.
Change-Id: Ic7b3badb14daff183dd36927b4dae6bbc036e6cd
CRs-Fixed: 3225166
Generally below process should happen in renegotiation failure
case.
1. TWT setup (successful)
2. TWT setup (renegotiation failure)
3. TWT teardown
4. TWT GET STATUS - 0(dialog ID) 0 0 0
5. TWT setup - successful
Since all WMI TWT events gets executed in WMI thread. So when
renegotiation failure case hits, driver sends TWT
teardown to firmware and waits for twt ack in worker thread.
In same worker thread TWT event needs to be processed.
TWT ack event will not process as it's waiting in same worker
thread and it will get timedout.
As part of fix, break the context in renegotiation and
send the teardown in the new worker context.
Change-Id: Id12cb906b780d3013562c1772e276639a056c8f7
CRs-Fixed: 3207537
1. MLO requires a tbtt_info length of 16 octets. To support
16 MLDs, it requires to extend the current global_rnr cache
accommodating this new requirement in 11be MLO context.
Redefine MAX_RNR_SIZE accordingly.
2. Currently, scan-module is considering only upto 5 reported
APs in a RNR element. This will be ok pre-11be as the RNR info
is not used for connection. RNR info is required for link to
vdev matching for MLO based connection starting 11be. So, the
limit specified by MAX_RNR_BSS needs to be extended to be able
to parse upto 16 tbtt_infos from the RNR elements present in
beacon or probe-response. Some APs can advertise upto 16 co-
MLDs when 6Ghz link is involved in those MLDs.
CRs-Fixed: 3191537
Change-Id: Iff532f7ea4f0ebf21947e24edbfa1f28d2d92af3
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer and wait for a
maximum of 6 seconds for the response. Host can stop the timer and
allow the commands to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
HO_FAIL event: Host needs to wait till HO_FAIL event is
received
If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.
Change-Id: I4577f9b0aac71c0c86bd32b59e69d9527bf107b9
CRs-Fixed: 3106032
As per the spec,
"A STA affiliated with a non-AP MLD, that operates on Link2, transmits a
(Re)Association Request frame to AP2 requesting Link1 as one of the links
for multi-link setup. Since the (Re)Association Response frame is
transmitted by AP2 after the last Beacon frame on the initial operating
class/channel on Link1 and before the first beacon on the initial
operating class/channel is transmitted, AP2 includes the Max Channel
Switch Time element in the per-STA profile corresponding to AP1 in the
(Re)Association Response frame it transmits. The value carried in Max
Channel Switch Time element provides an estimate of time until the first
TBTT on the new channel on Link1."
Hence, calculate the remaining max channel switch time using the below
steps.
When host receives the CSA complete event with the CSA count 1, calculate
the Max channel switch time for each vdev by adding the below values,
a) Host triggers the channel switch when CSA complete event is
received with the CSA count 0. The time difference between
CSA count 1 and CSA count 0 is one beacon interval. Hence, add
one beacon interval.
b) Add the channel change time. The total time required to receive
CSA event handler from FW with CSA count 0, plus, the time required
to process the CSA complete event, plus, the time required to send
multi-vdev restart request for all the vdevs in the new channel and
send updated beacon template (only for non-DFS channel) is
approximately 1 second (added a few milliseconds as delta and
considered 16 AP vaps here).
c) Add DFS CAC duration of the new channel if the new channel is DFS.
d) Add one beacon interval time (time required to send the beacon on
the new channel after VDEV up).
e) Store the sum of the above time values in max_chan_switch_time of
the vdev_mlme object.
f) Save the current time when host receives CSA complete event with CSA
count as 1 in the last_bcn_ts_ms of the vdev_mlme object.
Calculate the remaining channels switch time using the below formula.
- Remaining channel switch time is equal to the time when the last beacon
sent on the CSA triggered channel plus max channel switch time minus
current time.
Reset the max channel switch time and the last beacon sent time after
sending the VDEV UP command to FW.
Change-Id: I7c03bfae5e159419a6c9462591aeb2d6c5b4fb87
CRs-Fixed: 3076245
Currently, VDEV manager responses are using legacy path instead of
target_if, vdev_mgr and os_if components. As the driver implementation
is planned for converged model, legacy implementation will be moved to
the respective components.
To avoid rework, Use target_if, vdev_mgr and os_if components to process
the FW responses corresponding to the vdev manager.
Change-Id: I778f6de93481fc730383e8f8e1c604f173947d69
CRs-Fixed: 3093776
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address.
This is resulting in connection time increase when MAC address
randomization is enabled for every new connection.
To optimize the connection time, add support to update the MAC address
without bringing the interface to down state.
Change-Id: Ic3eff6a9571f885292021b2c178d26b0eace5042
CRs-Fixed: 3063475
This change implements timer based msgq processing to defer
the context for MLO peer. It also fixes some of the issues in
MLO peer path, It adds utils APIs for MLO params
Change-Id: I94384c91adfb8785d833bff1ba5541dc98cfc383
CRs-Fixed: 3059837
Add change to handle service_ready for,
1. Ema multi-MBSSID group support
2. Large beacon support greater than 1.5K
CRs-fixed: 3036717
Change-Id: I1c985faf429aacd78ae74fe0ffe18958fd6aa821
This change adds MLO support to Peer.
It implements,
1) MLO peer list management
2) AID allocation
3) MLO Peer creation/deletion
4) Notifying partner links on peer creation/deletion/assoc
Change-Id: Ie1b675dccdf0de1d79f6f32d9255cf3cca53fdf2
CRs-Fixed: 2967057
Add change to support max channel switch IE as a INI config.
With this INI enabled, max channel switch IE will be used in scenario,
where client disconnection is to be avoided with CSA on CAC channel.
Change-Id: I786e7e12e12ebcb3fc7d0720ed02e01bff6c82b8
CRs-Fixed: 2949206
MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation.
Change-Id: I147ac8365f3c99c6231df589ac17d39122d57362
CRs-Fixed: 2987496
Add storage for EHT mac and phy capabilities as
per 11be D1.0 and update the EHT mac and phy capability
sizes.
Change-Id: I67224b35b701235374772e9975375e695f3ed959
CRs-Fixed: 3000166