Extract MLO band data from roam stats event for
BTM query, BTM request and BTM response logging.
MLO Band refers to the band of the link involved
in MLO conenection.
Change-Id: Ia60821f7973fe1d39eb824a3eac7791672503084
CRs-Fixed: 3583688
Modify roam_scan_stats_tlv and roam_scan_ap_stats_tlv
to introduce mlo specific elements for Roam scan start
and Roam candidate ap logging.
Change-Id: I8e72abc3b888614faf533fd8086cf73a29c26f85
CRs-Fixed: 3582433
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.
Change-Id: If15f491fd970486d8e84d1845866688d837ea2b4
CRs-Fixed: 3604865
Hopping radar happens on whole band, hope all DFS sub channels are put to
NOL, but F/W only reports single radar event on special freq to host.
When DFS puncture enabled, sub channel marking is enabled, host only put
single affected 20M sub channel to NOL instead of all current bonded sub
channel, AP still stays on current freq for valid puncture bitmap
instead of leave DFS freq.
If the radar is a frequency hopping radar that truly hops over entire DFS
band, then the AP and clients are best served by moving out of the DFS
band. But it could well be that only part of the band is used. It is
difficult to find product specifications with info on the total bandwidth.
Mostly military systems use frequency hopping to avoid jamming. So a middle
ground would be to put full bandwidth of current AP to NOL for FCC type 6
frequency hopping radar.
When frequency hopping radar happens, F/W set flag that full bandwidth need
put to NOL in new added tlv radar_flags of event
WMI_PDEV_DFS_RADAR_DETECTION_EVENT, When find the flag is set, host will
put full bandwidth of current AP to NOL even sub channel marking is
enabled.
To avoid compatibility issue between old/new F/W and new/old host, add a
F/W service bit wmi_service_radar_flags_support and host service flag
is_full_bw_nol_supported.
If the wmi_service WMI_SERVICE_RADAR_FLAGS_SUPPORT is enabled by FW, host
shall set/unset a bit in the host service flag is_full_bw_nol_supported
based on host capabilities. This host service flag is then sent to FW via
WMI_INIT_CMDID.
Change-Id: I6e280ca4ab00dce97c5aec90c7a4b4fc7c4a440a
CRs-Fixed: 3595476
Add support to send TWT IE in assoc/probe rsp to fulfill WFA requirement
FW sends TWT IE in mgmt rx event for probe req and assoc req. Send this
IE in probe rsp and assoc rsp. This change takes care of extracting TWT
IE in mgmt rx event.
Change-Id: I1a97eb58c03f76c7ced31349dc0e3b4a908ceda0
CRs-Fixed: 3585625
Update version for vendor request 1 and vendor request 2 as
below:
vendor_req_1_version: WMI_HOST_VENDOR1_REQ1_VERSION_4_00
vendor_req_2_version: WMI_HOST_VENDOR1_REQ2_VERSION_3_50
Change-Id: Ib8ff2596c415453c26de3d7d26dce5dceed30556
CRs-Fixed: 3589711
When WoW enable cmd has been sent to F/W, but no ack from F/W yet,
UNIFIED_LINK_STATS_GET_STA is sent over WMI, assert will happens.
To fix it, once WoW enable cmd has been sent to F/W, don't allow
UNIFIED_LINK_STATS_GET_STA sent over WMI.
Change-Id: I13271e88310bc510a9c7668d193f6e776554a442
CRs-Fixed: 3585971
Includes changes:
1. Save frequency values from EXT and EXT2 events to psoc object
- wireless_modes, low/high 2 GHz chan and low/high 5 GHz chan from EXT event
- wireless_modes_ext, similar frequency range fields with _ext from EXT2
event. Frequency range fields with _ext are non-zero when a radio supports
overlapping frequency. Eg.Radio that supports 5 GHz full and 5 GHz high band will
have low/high 5 GHz fields populated with primary band values in EXT event and
low/high 5 GHz fields are populated in EXT2 event with secondary band
values. These values are stored in tgt info for later use.
2. Modify regulatory APIs to get and set the wireless modes in reg
component
3. Retrieve frequency fields from EXT2 event
Change-Id: I49ebcc7ee7b26bd115f37abc8cb5b6fa5a415eda
CRs-Fixed: 3576551
Add support to handle WMI_ROAM_SYNCH_KEY_EVENTID.
WMI_ROAM_SYNCH_KEY_EVENTID is received after roaming to 3 Link
MLO AP when standby link is supported.
Add changes to register handler function pointers and parse
the event.
Change-Id: Iee17560f9f1f3242ef512a550764a9c64319b67f
CRs-Fixed: 3571673
Prepare and Send WMI command to fw to set the rf path. Also, add module
ID for rf path switch for qdf log prints.
CRs-Fixed: 3568221
Change-Id: I7ef0ffe66eaed837424699641d3e5b8537cd0304
Once the FW sends the link switch request to host handle
the request from scheduler thread and send confirmation
back on completion of link switch process with status of
link switch (success/failure).
Add new serialization command type for link switch.
Introduce flags to get the current state of link switch
request, set the state to idle when no link switch in
progress or once the current link switch is completed.
Access to state is protected with MLO dev context lock.
Implement various helper API to:
a) Transition link switch to next state.
b) Get current state of link switch.
c) To check whether any link switch is in progress.
c) To check whether link switch is happening
on assoc VDEV or not.
Introduce a new VDEV flag to suggest the VDEV is in
link switch process and also implement helper APIs to
set/get/clear this VDEV flag.
a) The flag is set at start of link switch, once
the FW request params are validated and before
proceeding for link switch disconnect on VDEV.
b) Clear the flag once the Link switch confirmation
is sent to FW.
Validate the link switch request params:
a) IEEE link ID's received.
b) Check if new connection is part of MLO connection.
c) Check if VDEV is MLO STA VDEV or not.
d) Is VDEV in connected state or not, that means
VDEV is not in transitioning state due to disconnect.
e) Check if any link switch in progress on this MLD
f) Current link ID of VDEV equals the FW params.
If validation is successful, serialize the link switch
command and in the serialization activation start the
actual link switch process.
Change-Id: Ie582650541054c8cf39aaa8316e86a7a40256a15
CRs-Fixed: 3556422
Extract aux device capability from service ready ext2
event, and report such info to wma/mlme/hdd.
Change-Id: I888624fd3443118ba66fadd7a40fcce4f4b5d521
CRs-Fixed: 3549753
When roam reason is periodic, host driver ignore the rssi
threshold in wmi event parsing.
Change-Id: I66c72576c7a2994d88e4c83bee726d8ec92c4189
CRs-Fixed: 3566441
Driver sends feature set information to fw as
part of wmi init command.
Fill sta dump feature info in feature set bitmap
and send it to fw.
Change-Id: If28cd8f10af2333f0f231f0c4ae659ab20c1358a
CRs-Fixed: 3552909
Add support in driver to check whether F.W supports
dynamic MSDU aggregation size programming to H.W.
Change-Id: Ifb2d41efb23934414cce38753df82e1d15f01e11
CRs-Fixed: 3540531
Due to limitation uCode always filling SGI as long for VHT mode in
rx_msdu_start_tlv.
This change is to extract VHT Rx data packet SGI from
WMI_VDEV_SMART_MONITOR_EVENTID.
Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e122
CRs-Fixed: 3477303
Extract WMI Service bit for ATF 512 Max client support advertised by
Firmware as part of wmi service ready.
Add rxops functions as for upper modules to get it.
Change-Id: I51e8dcaad96bdd29eb6fd4c37b0917127696ede6
CRs-Fixed: 3551661
Add wmi pdev param support for long range phy param like cts timeout
slot time etc as part of enabling user config.
Change-Id: If1f3d86e09e634cde43ef8211831511781e96672
CRs-Fixed: 3520970
Add support in driver to check if FW supports per link stats
in case of mlo connection, using the wmi service event
WMI_SERVICE_PER_LINK_STATS_SUPPORT
Change-Id: I85ea50877455efc3646d3b1892ce855dc07b1dbf
CRs-Fixed: 3520338
In api extract_service_ready_ext2_tlv(), Multipass
SAP capabilities is extracted to enable multipass
sap suppot in host
Change-Id: I422a5dbaca405ceaea70559863af48d046f92cbe
CRs-Fixed: 3515331
The qdf_print default log level is error, which is not
properly set for non-critial/fatal case. So change
it to wmi_info by default.
Change-Id: I4507416e241a47e56de48f537cb1ad5ad913c264
CRs-Fixed: 3519208
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
In case of MLO connection, firmware sends each vdev's
status information using extended vdev stats event.
Add support in driver to extract it.
Change-Id: I95f2a96cb7034b5b070cc6f37a97591e01e5893a
CRs-Fixed: 3483730
Adding support for reset PN value using
WMI_HOST_PEER_FT_ROAMING_PEER_UPDATE peer command.
Change-Id: Ib486d09c80878d41efa299756e655d66babd825d
CRs-Fixed: 3490034
Currently, there is no provision to identify that the driver supports
NAN pairing protocol. So, new kernel and new firmware will start
exchanging PASN frames without realization that old driver is loaded
and thus, frames will be drops in driver.
So, to fix this issue, firmware introduces new parameter in nan
capabilities to indicate host about pairing capability. Host driver
extracts the TLV to get nan capabilities and cache the max num of
pairing session.
Change-Id: I4153c7ec4d425294b0799122bf61e735184f0960
CRs-Fixed: 3492518