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
Save quiet status of indicated link to sta contect of MLO mgr. Any link
should check quiet status of MLO connection, then decide whether it
can trigger inactivity to FW or not.
Change-Id: Ic294bbe6452030b6cae495ca0dd3e504416e2c9e
CRs-Fixed: 3117825
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
- Add MLO Quiet IE related parameters in ml_bcn_partner_info structure.
- Populate MLO Quiet IE related parameters in the beacon template.
Change-Id: I5a4a069d067bdbc5e7c44c407f51a504e9aba151
CRs-Fixed: 3088019
Presently, whenever there is any kind of reference leak in the system
wlan driver doesn't recover and goes into a bad state.
Add support to forcefully reset the vdev response timer so the system
can gracefully recover and wifi can be functional.
Change-Id: Iab705c17f4313e4b8efd980d5427bf8d4ce9496f
CRs-Fixed: 3051962
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
Add change to rename peer create in MLO scenario to include MLO prefix
to void interpretation with generic peer create
Change-Id: I0ebf15964390275270e8b02d1e87df8532c63a0b
CRs-Fixed: 3075987
In BE architecture, HW provides basic vdev stats support for upto
48 vdevs. For each vdev, there is vdev_stats_id which represents the
id of this vdev on HW. This vdev_stats_id is assigned by host and
is conveyed to FW at the time of vdev creation in wmi_vdev_create_cmd.
FW uses this vdev_stats_id to fetch the stats from HW.
Add logic to convey vdev_stats_id to FW at the time of vdev create.
Change-Id: I91782c73a7f3f94175a0c28ab4adda2d894856db
CRs-Fixed: 3069992
For MLO, we need to designate one of the link vdev
as mlo vdev, on which FW will accept the multicast
frames and for the other link will drop the mcast frames.
So as part of vdev start, we indicate the mlo mcast
vdev in the first vdev of the mlo.
Change-Id: Ic962a6e1fead4a3cab7c622583392ecf373f4783
CRs-Fixed: 3080525
Add support to extract the freq, cfreq1, cfreq2, PHY mode, Destination
macaddr, and channel BW values from the RTT measurement request buffer
received from the LOWI application. Pass these values to a registered
callback. Users can use these values to make some decisions on the RTT
scan.
Change-Id: Idb2232c07bbfa2946dc01e75908b9a6036597ecf
CRs-Fixed: 3060685
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 support for multi vdev set param WMI API to send vdev param for
multiple vaps.
Change-Id: If7381f0b242cacff0817e6bdc16606d3d776b48d
CRs-Fixed: 2994278
A new TLV is added to send partner link CSA/ECSA count offset to FW as
part of beacon template. Add WMI changes to populate these TLVs in the
beacon template send function.
To fix the compilation issue, added forward declaration of 'struct
vdev_mlme_obj' and removed 'include/wlan_vdev_mlme.h' include file from
wlan_mlo_mgr_public_structs.h.
Change-Id: I6e421b29bb887bec711a23db1458aca4d112ade4
CRs-Fixed: 2983249
Add puncturing bitmap along with channel parameters
in vdev structures for filling during vdev start.
Change-Id: I5e5afd6e118ed9933e4d9c30e2ad65cd4259bca0
CRs-Fixed: 2958389
In the current implementation, csa_event_bitmap for CSA in the beacon
template WMI command is set to 0. Hence, the FW sends CSA complete event
to the host at the end of CSA complete.
Set the below values to csa_event_bitmap to get the current channel switch
count from FW to update the CSA/ECSA IE count in probe response frame.
1. WMI_CSA_EVENT_BMAP_ALL:
To get the CSA switch count event for every update to switch count.
2. WMI_CSA_EVENT_BMAP_SWITCH_COUNT_ZERO:
To get the CSA complete event only when the switch count becomes zero.
3. WMI_CSA_EVENT_BMAP_VALID_MASK:
FW to follow the bitmap for sending the CSA switch count event to the
host. Example,
0X80000000: Send the CSA event when the switch count becomes zero.
0X80000033: Send the CSA switch count to host for the count 0,1,4 and 5.
Change-Id: I8380d6badc3b84c72fde489e59b51b5ac122b97b
CRs-Fixed: 2978799
Add change to increase target_if start and stop
response timeout to provide enough time to process
event in slow processing platform
CRs-Fixed: 2965898
Change-Id: I839783331bd9fa4375aee81212005b0f2ac97255
New TLVs for MLO flags and partner link info are introduced in vdev
start WMI command. Add WMI changes to add these TLV in the vdev start
command.
Change-Id: Ic7d54c406f69346a6eedb43b1ebcf7266c448bd8
CRs-Fixed: 2958843
WMI vdev create is changed to incude mlo macdress as one of TLV.
Add changes in WMI vdev create send API to include this new TLV.
Change-Id: Ia13bdb8fbfc9f68d1e4c0209201f9acc4f575387
CRs-Fixed: 2958839
With the addition of MLO_SYNC_WAIT substate, now the active status
of the VDEV will be indicated by ACTIVE substate under UP state.
Add API to check if a given vdev is in UP_ACTIVE state.
Change-Id: Ia858765b07582f89e0eaa041d56c7f2aae6f1528
CRs-Fixed: 2924322
If STA DFS is enabled before vdev creation through etc/config/wireless
then VDEV START is sent to F/W as a part of the normal flow to bring
the VAP up. However, if STA DFS is enabled/disabled on the fly for a
running VAP then do a VDEV STOP, followed by a VDEV START of the STA
VAP and set/unset WMI_CHAN_FLAG_STA_DFS flag in VDEV start.
Change-Id: I032ffa53d89eaafcb43c648670af3b3f2134561f
CRs-Fixed: 2843248
Add support to send preferred_xt_streams and preferred_rx_streams
in multivdev restart.
CRs-Fixed: 2833470
Change-Id: I2c06a8bd9a64b15126e216eeb65699e104cbca64
This will help to configure desired rate mask. It can be
used to optimize link performance.
Change-Id: I15b6fbc512d9b0869a6ad6a6f24f1593abf14dae
CRs-Fixed: 2758871
This change allow Tx VDEV of MBSS mode to configured
dynamically by reset the VDEVs.
This change includes FW service bit parsing, checking
VDEV state of all VDEVs, sending MBSS information in
VDEV start command
Change-Id: I46b13629bd1c07be86b408d72c2967642ce8542e
CRs-Fixed: 2759229
Special vap type is used by scan radio solutions.
Indicate special vap type to FW through
vdev create WMI command.
CRS-Fixed: 2746724
Change-Id: Ie5e4b059306c5c80d93dba0ebb4810b3e570878f
There are different version of SSID structure used in driver, replace
them with struct wlan_ssid.
Also move struct element_info from scan module to generic structures.
Change-Id: Ia32f82d943980c23b4ff478f5a06c5c053036de5
CRs-Fixed: 2721872
Add change to define restart bitmap using the generalized bitmap
declaration. Also use generalized function to check if any of the
bits are set in the bitmap.
Change-Id: I06859fc089f121559231a7e13bcab63322e5ef9b
CRs-Fixed: 2690914
Enhanced Multi-BSSID Advertisement is an enhancement to the
existing Multi-BSSID feature in terms of advertising
non-transmitted bssid profile using the transmitted bssid
beacon. Mandatory inclusion of RNR IE in lower-band AP
beacon to support Out-of-Band Advertisement of colocated
6Ghz AP may impose limitation in the beacon size. EMA AP
provides a standardized way of overcoming such a limitation
Relevant UMAC changes are:
1. Add fw_caps_ext support bit WLAN_SOC_CEXT_EMA_AP
2. Add vdev_control_flag WLAN_VDEV_MLME_FLAGS_EMA_MODE
3. Support of 32-bit ema_params in beacon_tmpl_params.
The 4 octets in this param field will respectively
indicate ema_beacon_profile_periodicity, ema_beacon_tmpl_idx,
ema_first_tmpl and ema_last_tmpl in the order of low to high
CRs-fixed: 2677701
Change-Id: I3d96fd3becd7609abb2529f977362bfa5401d600
Support synchronization of Tbtt in multi SoC case.
Add WMI to send vdev details of one soc to another.
Info includes beacon interval, bssid and tbtt calculated
in host wrt to other Soc.
Change-Id: I465140268b0fe5e0cb69f636ebeb08dc80667cf7
Changes to support Beacon protection. Additional key ix 6 and 7
support BIGTK. Update beacon template for Beacon protection support.
CRs-Fixed: 2632290
Change-Id: Ic37d17f5076bb28d2e1f2430da039cc8b9f759b6
Add support for WMI event to host to process
dynamically selected Muedca values and update
the mgmt frames with the new set of values.
Extract the params and store in Muedca_param
struct from control path, to be used for
updating mgmt frames.
Change-Id: I6cc7756d1a246ff994edef195f6191d280bc5c47
Add change to increase vdev id bitmap size to the number of vdev ids
bitmap as sent by the FW to avoid memory overflow on host.
Change-Id: I92a2ae31cf0079c989b1788afc61e7f3153dc426
CRs-Fixed: 2626887
SAP not advertising 20TU probe response when
FILS Discovery is disbaled through ini.
Updated WMI fields to enable 20TU probe response
when 6Ghz SAP is operating.
Change-Id: Idc4b95047d2149f68a68a434afda4d325a5d0547
CRs-Fixed: 2600485
Add WMI and objmgr support for maintaining RNR
buffer cache and receive tbtt events for all
vdevs using existing tbtt offset WMI.
Change-Id: Idfed63e104e629fbe455d1cf6202cd9b332f5cf9
Add code to change the vdev_mlme timers to psoc_mlme timers
and also change code to send vdev_delete to FW while physical
destruction of vdev obj.
Change-Id: Ie041182155c75d0cc3825dc97b26abc6be38d76c
CRs-Fixed: 2563931
Move the vdev response timer from the vdev object manager structure
to the psoc mlme structure.
Change-Id: Ieb87ac6549aa23e0beb61441fea459d3db78c2f3
CRs-Fixed: 2563410