WMI_PEER_CHAN_WIDTH_SWITCH_CMDID sent from host fragments the
command based on the size of the WMI buffer.
Add support to instead use a FW regulated value taken from the
WMI service ready extended_2 event.
CRs-Fixed: 2684788
Change-Id: Iaeccf785c64b385bf2ad6bc372da239981143fa0
This commit enables support for SuiteB roaming wmi service based
on the WPA3 SuiteB roam service capability advertisement
received from Firmware.
In SuiteB the PMK length is greater than the existing PMK length,
added the extended PMK parameters to fill in the remaining bytes
of PMK in the RSO command.
Change-Id: Ia630580bba050513800e3acac875baf937ec8d14
CRs-Fixed: 2685993
In order to enable/disable the OBSSes whose transmission can be treated as
SR opportunity for SRG and Non-SRG based Spatial Reuse, add the required
WMI support. Also, add the Host abstractions for the following
- WMI_VDEV_PARAM_ENABLE_SRP
- WMI_SERVICE_SRG_SRP_SPATIAL_REUSE_SUPPORT
CRs-Fixed: 2684157
Change-Id: Ib3e919766436ca4d4e7f9242b642ba309dbf9a47
With specific AP(s), FW needs to perform FT initial mobility
association instead of FT roaming for deauth roam trigger.
Add iface changes to configure "FT initial mobility roaming
for deauth roam trigger" behavior from the HOST.
Change-Id: I695a36b66a7a53e8d08526c065a9530196646184
CRs-fixed: 2665885
With the current implementation of wmi init command,
there is no provision for the host driver to provide mem
chunks addresses with more than 32-bit, to the firmware.
WCN3990 is a 35-bit target and can accept mem chunks addresses
which are above 32-bit.
If firmware supports address range more than 32 bit, it
advertises the support by setting the WMI_SERVICE_EXTEND_ADDRESS
service. Based on this service fill the upper bits of paddr while
providing the mem chunks in the wmi init command.
Change-Id: Id65eb03d8f5cec5b9f16e24287a45a86433ab970
CRs-Fixed: 2678069
Add support for processing the start scan response
WMI event. FW provides the necessary information to
segregate FFT bins to pri80, 5 MHz and sec80 in
160/165 MHz. Also, cfreq2 and the channel width is
provided to FW via WMI command.
CRs-Fixed: 2672081
Change-Id: I666b6c18a63d5d01117aa9cbd611691c6f8b2793
The current value of WMI_BEACON_TX_BUFFER_SIZE imposes a limita-
tion on the size of the probe-response template that host can
send to target. This limit is good for offloading probe response
to target in case of soft-ap
WIN AP requires to support up to 16 VAPs in a single WIFI radio.
Also, 20TU probe response requirement for 6Ghz AP now requires
WIN AP to offload probe response
The current limit of 500 bytes is sufficient for soft-ap but does
not fulfill 16 6Ghz WIN AP requirement
Define WMI_BEACON_TX_BUFFER_SIZE for WIN AP as 1500 bytes
CRs-fixed: 2681235
Change-Id: I6251ee049451aa0c4a0482d772842a4f688b2f89
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 WMI changes are:
1. Support of EMA AP service bit in wmi_service_ready_ext
2. Support of 32-bit ema_params in wmi_bcn_tmpl_cmd_fixed_param
to signal ema_beacon_profile_periodicity, ema_beacon_tmpl_idx,
ema_first_tmpl and ema_last_tmpl to firmware while sending the
beacon template
3. Support of 32-bit WMI resource-config params in INIT cmd
to signal number of max transmitting BSSs and max profile
periodicity
CRs-fixed: 2677701
Change-Id: I6c7b146b5071ad0a1c45fc3ec6fd03ed5dbe8020
The user can add phy logging to be enabled in user space
by using '-ephy' option, which will let the host know about
this corresponding event and will send the event information
to the firmware.
Change-Id: Ibb4888101a80a765d196264403ce7912d1a6e9aa
Add the Host abstractions for the following WMI pdev and vdev parameters
related to Spatial reuse operation.
- WMI_PDEV_PARAM_ENABLE_SRP
- WMI_PDEV_PARAM_ENABLE_SR_PROHIBIT
- WMI_VDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD
- WMI_VDEV_PARAM_SET_CMD_OBSS_PD_PER_AC
CRs-Fixed: 2672093
Change-Id: Id9b03e304676e2896b1d40b0c6319a69be32d7fd
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
The roam sequence in LFR-3.0 is roam scan start notification
from firmware followed by roam start indication and then
roam synch,roam synch frame events. Roam start is sent
after candidate selection and host driver will disable
queues when roam start is received.
But for emergency roam trigger, firmware sends roam start
indication directly without notifying roam scan start to disable
data path queues immediately after deauth received from the AP.
So roam start is received before roam scan is started at firmware
and before candidate selection is done.
After roam start notification, host sends scan abort for all scan
on vdev by setting scan command request type to
WMI_SCN_STOP_VAP_ALL. This results in roam scan getting aborted at
firmare in emergency deauth roaming case and roaming fails.
Introduce new vdev id value based on which the scan module will
abort only host triggered scans setting the flag
WMI_SCN_STOP_HOST_VAP_ALL in the scan request.
Change-Id: I3a162c55d4a008ff986fd957bed395b39c060bb5
CRs-Fixed: 2636410
This mode is supported through hw_mode_id 7. A special mode for
IPQ8074 platform alone to bring up single pdev alone on 2G mode.
FW would advertise the mode 7 support through the WMI service
ready message and this mode will be the default mode for AP-HK10 alone.
Added a function to update the svc_id mappings for this mode as FW
requires WMI commands to be received through CE 7 for this mode.
Also adjusted the preferred mode precedence to give high precedence
to mode 7.
Change-Id: Id637c59e9528779e38737b7d74b000abf2e9db9d
Currently the driver allows roaming to the BSSID
which it is already connected, which can lead to
many unexpected behaviour, for eg. if the SAP
to which the DUT is connected turns off, then the
DUT would try to roam to other BSSID of the same
SSID, and in case the SAP turns on back in time,
then the DUT would re-associate to the same BSSID.
Now if the subnet may change, and since the DHCP
does not happen again in roaming, it would then
lead to NUD failure.
Fix is to introduce an ini to allow/disallow
roaming to the same BSSID.
Change-Id: I38887bbfb74c4856a06956591be4159734f7fbf0
CRs-Fixed: 2650346
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
Remove redundant data structure at wmi for vdev delete
response extraction, instead use mlme host data structure.
Change-Id: Iedb4280fb47d6567bc4d7b663ecd6af5e769ddfc
CRs-Fixed: 2641197
This will allow dbglog_cmd in non-tlv path
Since the fw_header structure "struct dbglog_config_msg_s" variable
"cfgvalid" increased size by one
Change-Id: I0ea9782895083b88250e9187e95456f57fa948b9
CRs-Fixed: 2626544
Remove redundant data structure at wmi for vdev delete all peer
response extraction, instead use mlme host data structure.
Change-Id: Ice91f55e0bf8a23ea1a639a74f6a8ac3b2779a7b
CRs-Fixed: 2641261
Currently QDF_MAX_NUM_CHAN and NUM_CHANNELS aren't aligned, this unalignment
may cause many potential OOB access. So replace QDF_MAX_NUM_CHAN with
NUM_CHANNELS to keep unified.
Change-Id: I7bf7829d776f7caf5b2afbd2c9fd0c20d608e630
CRs-Fixed: 2644073
Remove redundant data structure at wmi for vdev start
response extraction, instead use mlme host data structure.
Change-Id: Ie0d3e6fa0acb1fea8bc0f50095491dbe803f6810
CRs-Fixed: 2641085
The FW has updated the wmi command wmi_vdev_adfs_ch_cfg_cmd_fixed_param to
configure the Agile channel to enable the 165MHz channel as an Agile
channel by enabling 2 center frequencies.
For a 160MHz and 80MHz channel, the parameter center_freq1 will be the
center of the respective channels. For the 165MHz channel(restricted 80p80)
the parameter center_freq1 will be the center of the left 80MHz channel
(5690MHz) and the parameter center_freq2 will be the center of the right
80MHz channel (5775MHz)..
Update the ADFS parameters across UMAC, TARGET_IF and WMI layes to
update the Agile channel configuration command.
Change-Id: Ie480af9a6bb8dad87dd783ab06e17b449605b1c9
CRs-Fixed: 2642555
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
Send new flag WMI_ROAM_OFFLOAD_FLAG_SAE_SAME_PMKID through
11i offload param to indicate fw whether WLAN_SAE_SINGLE_PMK
feature is enable or not.
If flag is set, fw should use single PMKID for SAE roaming
between VSIE AP(s), else fw should complete roaming by
doing full SAE authentication.
Change-Id: I9c88772c9571230c38e2cfa41c8a0c79663572ab
CRs-Fixed: 2616046
Add support for the following NAN messages in kmsg:-
1. NAN enable status
2. NAN, NDP match events
3. NDP channel info.
etc.
Change-Id: I7f67b67153904b7efe8a708e3f93d069e399395c
CRs-Fixed: 2618433
For restricted 80+80 MHz FR, target team initially added
wmi_service_bw_165mhz_support to indicate the target is capable of
supporting restricted 80+80 MHz.
Later, they have added wmi_service_bw_restricted_80p80_support to indicate
the same. Therefore rename wmi_service_bw_165mhz_support as
wmi_service_bw_restricted_80p80_support.
Change-Id: I12229b5d35911d4c34e63902c09592187d902bed
CRs-Fixed: 2621249
Firmware advertises WMI_SERVICE_ROAM_SCAN_CHANNEL_LIST_TO_HOST_SUPPORT
at the time of initialization, that means host can querry for roam scan
channels list to firmware.
Host driver sends WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID to firmware to
querry roam scan channels list and firmware responds with an event
WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID.
Change-Id: I419a0206d7b06b6186d0c333c951bca5206f342f
CRs-Fixed: 2620607
This patch adds the function to extract and parse the wmi events
WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID and
WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID. These events are
required for ftm time sync feature.
Change-Id: Ib17da82b7a8abfcff5d18125a0ba0e5249d6bf54
CRs-Fixed: 2615452
A service bit is added to indicate Firmware supports sending NSS ratio
information to Host and Host receives the NSS ratio information from
Firmware as part of service ready ext event. Save this service bit in
soc's extcap feature bit. Extract the NSS ratio info from service ready
ext event and save the results in wlan_psoc_host_mac_phy_caps structure
to calculate NSS value.
Change-Id: I8fbee48d872b0724bbb629ad38b3c959736a3c39
CRs-Fixed: 2612959
Firmware advertises service capability bit
WMI_SERVICE_PEER_DELETE_NO_PEER_FLUSH_TIDS_CMD
when peer delete command takes care of flush
all tids functionality.
If this service bit is set advertised by FW
then host does not need to send the flush tid
command before sending the peer delete command.
Change-Id: Ic6632772eeebc7f1494f1dd5e9d533b2bc22e533
CRs-Fixed: 2609962
Update value of new ini for separate iface support for NAN
"nan_separate_iface_support" to fw through a command
WMI_INIT_CMDID.
Change-Id: I55830e0d16d86ee5a0bfa7d3e44c6309c0d3d54b
CRs-Fixed: 2612010
Currently, the driver rejects the roam stats event if any of the
roam trigger or roam scan or roam results tlv is not present.
Now the firmware will send neighbor report immediately after the
neighbor report response is received from AP instead of buffering
it as done before.
So do not parse the roam trigger, roam scan, roam result tlv if
the tlv is not present. Add new flag in the tlv parsing structure
if the TLV is not present.
Change-Id: I366d8853f7f45dcdac6d4aa5c3a8a12a8b602a4f
CRs-Fixed: 2610377
As part of new requirement WLAN subsystem needs to perform thermal
mitigation action as per the thermal state of the device. The
wifi hal sends vendor command QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD
with the thermal level parameter and wlan host performs the required
appropriate action. wlan host driver maps the thermal level to
corresponding duty cycle off percent value and duty cycle value,
send WMI_THERM_THROT_SET_CONF_CMDID cmd to FW.
Make changes to perform vendor command handling, mapping thermal level
to duty cycle value and communicating the thermal information to FW.
Change-Id: I5b455ae6483f3d5bf2fe708f40c32a55eb8b9bdb
CRs-Fixed: 2610404
Add support to fallback the PMKID generation from firmware to
wpa_supplicant.
Firmware fallbacks PMKID generation to host when FIPS enabled
due to the crypto library availability limitation.
Once the roam candidate selection is done in the firmware, it
sends the WMI_ROAM_PMKID_REQUEST_EVENTID. Once this event is
received, the host driver triggers an event to wpa_supplicant
for PMKID generation.
Change-Id: Ica00d27ce3f9f4a8f966261b38e238c389fcf05c
CRs-Fixed: 2507617
Avoid direct fw headers usage in init_deinit component since
can have functional impacts. The inclusion is done at wmi level
to fix the inconsistency of code.
Change-Id: I73cc1aac500cec041de81750b9c7654d21344e6c
CRs-Fixed: 2505399
For Genoa, the WLAN FW enables IPA by default, if the
IPA is disabled by kernel config, the IPA status is
not same between wlanhost driver and WLAN FW. So add
such info in the first WMI command to let WLAN FW knows
the IPA state from host, and do the according copy engine
initialization, otherwise, the mismatch IPA copy engine
configuration will casue the Genoa FW assert.
Change-Id: Iec2f86ffb40b296c51bee41adc0d895beb200e5c