Add support for EHT PPE threshold's. Store 2G and 5G thresholds received
in service ready. Fill peer PPE thresholds for EHT peer.
Change-Id: Id5c8310cbf34c59a3d88072b37ce3f871354ed17
CRs-Fixed: 3128586
Remove Legacy Qwrap max client mode code as part of Legacy
RE code cleanup. Old change (same code changes as new) was
reverted as some PF checks were missing/skipped before merge
due to an IT issue
Safe to merge now as IT issue has been resolved and all PF
checks are enabled again before merge.
Change-Id: I2f6ae57a27d50c31115d89e57281dc1f7094d71d
CRs-Fixed: 3125196
Add change to fetch and save the WMI service capability of FW to
support multi AST delete using service bit.
Change-Id: I038073085dca1370bafe691b6b0ba8c4476be7a2
CRs-Fixed: 3118892
MLO setup trigger is required to trigger setup sequence with FW. Move it
to end of the function to ensure that it is always called and skipped
due to goto
Change-Id: I49d096f6e9c4ae0d9ad0de5e1ab32eaaaa3fee2e
CRs-Fixed: 3124260
Firmware advertises the service capability bit
WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL when it supports per
channel scan config flags. Get this and cache in psoc.
If firmware supports WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL,
it uses the upper-12 bits(bit-20 to bit 32) of channel_list
for flags and lower 20-bits(bit-0 to bit-19) for frequency.
If firmware doesn't support it, then channel_list holds the
frequency value only. Fill the flags and frequency accordingly.
Change-Id: I30d36a3c164e23cf0395129e5b93d186b81aa8a6
Crs-Fixed: 3103921
Skip sending triggers for MLO setup if a soc is not mlo capable to avoid
inconsistent MLO setup exchange with target.
Change-Id: Ie17dcd03e2fcf778795d964a55e4a400adacfb33
CRs-Fixed: 3100309
During driver load, print FW CRM sub ID value received in service
ready ext event.
Change-Id: I710508c9c12a476690e0379938c30c916293620f
CRs-Fixed: 3067102
Add support for extracting SBS Lower Band
End freq from rx service ready event.
Change-Id: I402d7519507fbce733a000a546473aa00e8844d5
CRs-Fixed: 3065158
Export symbols("mlo_glb_h_shmem_arena_ctx_init" and
"mlo_glb_h_shmem_arena_ctx_deinit") for other modules.
CRs-Fixed: 3026023
Change-Id: I2a7c55f119be531b495a0f42a9b058734feb0ebb
There is a requirement to use REGDMN and wireless modes in UMAC layer of
the cmndev component. As the WMI_HOST_REGDMN modes currently are defined in
WMI layer, we can't use them directly in the UMAC layer. Hence move them
to the reg_services_public_struct.h and rename them as HOST_REGDMN modes.
Replace all WMI_HOST_REGDMN instances with HOST_REGDMN. Wireless modes are
currently defined in WIN component, use them to cmndev component.
CRs-Fixed: 3044590
Change-Id: Iee5fa1745a1a44b834334746b10bdbb6f6563a0a
Expose the following APIs from MLO global shared memory handling
- APIs required by the REO logic
- APIs required to invoke the MLO global shared memory parsing
Change-Id: Ia2fb0b0fee5d3904bae8cd70ce3364360d5ea16e
CRs-Fixed: 3014343
MLO global shared memory arena contains MGMT Rx REO snapshots in the
form of TLVs. Parse the shared memory and store the address of these
snapshots. These addresses will be required by the MGMT Rx REO algorithm.
CRs-Fixed: 3035491
Change-Id: Ica1b72cd8cf4083acdeefaee41df0da4a1f57f4f
Fetch fw capability to support p2p+p2p concurrency and
store cap info in 29th bit of soc_fw_ext_caps.
Change-Id: Id8e4c0310f8db503a2997e8aed5a6f1ce813dcc7
CRs-Fixed: 3032068
hw_link_id is unique across psoc to identify pdev in multi-soc ML cases.
Exract hw_link_id from mac_phy_cap and provide APIs in target_if to set
and get this for pdev
Change-Id: I9dcc4c1e4b515e83151ca88f5f026c0dd0b04646
CRs-Fixed: 3023496
With latest architecture there are different HTT peer
data versions supported by the firmware, supported htt peer
version will be sent in the service ready and need to feedback
to the firmware in the init command.
Change-Id: Icd0470843198387cd7e0192cbe3821d45ef0534e
CRs-Fixed: 3008706
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
In WMI INIT, check whether firmware supports the ack event or
not. If it supports then enable driver support and send it to
firmware during WMI INIT.
Change-Id: Icfdee6bc06e6a393de880b87fdab70665ea7c8b4
CRs-Fixed: 2987898
Currently host is populating secondary channel list from master
channel list based on ap power type. In case fw doesn't support
extd cc event then secondary channel list will not have 6g freq,
which may break legacy 6g handling.
Fix is to add validation check for ext cc event support, copy
secondary channel list from ap power type in case ext cc event
is supported by fw else copy secondary channel list from reg
current channel list.
Change-Id: I2e13be2936b624ccbee5e8e426987355076a0062
CRs-Fixed: 2987951
Add TWT service bit capability support to check whether firmware
supports ack event or not. If firmware doesn't support ack event
then service bit capability will become 0 and whenever TWT
command comes, host will not wait for ack event and sends command
in a legacy way.
This support is mainly added to handle new host and old firmware
combination.
Change-Id: I55d373c2e017130b58a4b332da16f0eda8f34eba
CRs-Fixed: 2987749
Check the below service bits and set in psoc if the service is supported
by FW.
WMI_SERVICE_RTT_AP_INITIATOR_STAGGERED_MODE_SUPPORTED
WMI_SERVICE_RTT_AP_INITIATOR_BURSTED_MODE_SUPPORTED
Change-Id: I13504958bf31b2d645d915b4db20719bdc9a4133
CRs-Fixed: 2969195
The regulatory wireless modes are populated by FW in
wlan_psoc_hal_reg_capability during service ready. This is copied
to the host regulatory data structure reg_cap. To accommodate the
802.11BE wireless modes, data type of wireless_modes in reg_cap is
changed from uint32_t to uint64_t, though FW still advertises as a 32
bit flag. As the wireless mode data type of host and FW are different,
structure copy using qdf_mem_copy does not work as expected and it corrupts
the adjacent elements.
Hence copy the elements individually from wlan_psoc_hal_reg_capability
to wlan_psoc_host_hal_reg_capabilities_ext structure. Also, typecast the
wireless_modes to 64 bit before storing in the host structure.
CRs-Fixed: 2901260
Change-Id: I42c8de831f97ec691c9b8cb50b8982662e39e7d9
Extract the 11BE flags advertised by FW in WMI_SERVICE_READY_EXT2_EVENTID
and update the regulatory pdev wireless modes. The wireless mode is
currently represented as 'uint32_t' and all the 32 bits are exhausted.
To accommodate the new 11BE flags, change the data type of wireless_modes
from 'uint32_t' to 'uint64_t'.
Add a regulatory phymode 'REG_PHYMODE_11BE' in enum reg_phymode.
If the chip does not support 11BE phymode, FW advertises it via
WMI_REGULATORY_PHYBITMAP enum with a value of REGULATORY_PHYMODE_NO11BE.
Extract the phybitmap and store it in the regualtory
as 'REGULATORY_PHYMODE_NO11BE' bitmap.
CRs-Fixed: 2901260
Change-Id: I4ed3fc7c907b1f76e59efb347c747acea2a163b0
Updated the EHT related variables as per latest fw cmn headers.
Address review comments from previous EHT gerrits.
Change-Id: I67cd58a4efcf3e06d2ca3b5570432593b1d80825
CRs-Fixed: 2902607
EHT capapilities will be received as part of ext2 service ready message.
Update the structure as per firmware common header file and extract the
EHT capabilities field.
Change-Id: Id2dd170db4de588008742f95493d4d06a6431f1c
CRs-Fixed: 2857802
Enable lower 6G edge channel ch2 (5935MHz) for APL2 6G regdmn
using a service bit WMI_SERVICE_ENABLE_LOWER_6G_EDGE_CH_SUPP,
which is not enabled by default.
Also, disable upper 6G edge channel (7115MHz) using another
service bit WMI_SERVICE_DISABLE_UPPER_6G_EDGE_CH_SUPP, that
is enabled by default.
Change-Id: Ia7cb7f7d3165375178adbe70adb19b8671496b6d
CRs-Fixed: 2885623
In order to support different power levels of 6G AP and client,
the channel list event from FW namely "REG_CHAN_LIST_CC_EVENTID"
is modified to add few parameters specific to 6GHZ devices.
Hence the existing event is replaced by REG_CHAN_LIST_CC_EVENT_EXT for
all 2G/5G/6G pdevs in FW. Therefore, after the service ready event, FW
sends the channel list for the configured country/regdomain via
REG_CHAN_LIST_CC_EVENT_EXT. This mandates that all host software need
to have the processing capability of REG_CHAN_LIST_CC_EVENT_EXT to bring
up the AP.
As there can be host software which has not yet implemented the
version of "REG_CHAN_LIST_CC_EVENT_EXT", backward compatibility is lost
if "ONLY REG_CHAN_LIST_CC_EVENT_EXT" is sent by FW.
Hence a 3 way handshake between host and FW is established.
1. FW advertises its capability of processing REG_CHAN_LIST_CC_EVENT_EXT
id via wmi service bit 'wmi_service_reg_cc_ext_event_support'.
2. If the host is capable of processing the "REG_CHAN_LIST_CC_EVENT_EXT"
event id (which is done based on registration of this event), host
sends the capability in WMI_INIT_CMDID setting a bit in host_service_flags.
3. Based on host capability advertised in WMI_INIT_CMDID, FW decides to
send the old event ("REG_CHAN_LIST_CC_EVENTID") or the new event
("REG_CHAN_LIST_CC_EVENT_EXT").
4. If there is no flag indicated by host to FW in WMI_INIT_CMDID, FW
by default sends the old event ("REG_CHAN_LIST_CC_EVENTID").
CRs-Fixed: 2876360
Change-Id: Ibe95f414ad9fff0e5641bcc6e60450ef9afe245b
The host will send TPC power to FW via the new WMI cmd
WMI_VDEV_SET_TPC_POWER_CMDID going forward instead of
WMI_VDEV_PARAM_TX_PWRLIMIT to accommodate 6GHz channels.
But, to support backward compatibility for New Host+old FW
the TPC power will be sent to FW via legacy WMI cmds
WMI_VDEV_SET_PARAM_CMDID (during initial connection) or
WMI_VDEV_PARAM_TX_PWRLIMIT (power value change during RRM
req/bcn processing from connected AP) with the help of a
service bit WMI_SERVICE_EXT_TPC_REG_SUPPORT.
Change-Id: I22e11ff847cd384fac8ea0061e5df42cea0c8de8
CRs-Fixed: 2874245
check csa_beacon_template service and set
WLAN_SOC_CEXT_CSA_OFFLOAD/25th bit of
soc_fw_ext_caps in psoc if service is
supported by fw.
Change-Id: I8dca74c805cc8696f261e0f791818bca579c80c8
CRs-Fixed: 2826451
Firmware advertises the service capability bit
WMI_SERVICE_SCAN_CONFIG_PER_CHANNEL when it supports per channel
scan config flags. Get this and cache in psoc.
If firmware supports WMI_SERVICE_SCAN_CONFIG_PER_CHANNEL, it uses
the upper-12 bits(bit-20 to bit 32) of channel_list for flags and
lower 20-bits(bit-0 to bit-19) for frequency. If firmware doesn't
support it, then channel_list holds the frequency value only.
Fill the flags and frequency accordingly.
Change-Id: I88a6f29f61e1ecea75bc5574cadcbbfbb7f8b188
CRs-Fixed: 2806405
Move the resource configuration command after initializing
pdev wmi handle and just before wmi init command.
CRs-Fixed: 2801602
Change-Id: I3a476cbbccd5874c79cfa08f1252c728ebc9a5c6
Firmware advertizes its support to place FST in CMEM,
export this capability to DP.
Change-Id: I265246bcfd38a36e34c4ede66e117a92bb185032
CRs-Fixed: 2772238
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
Retrieve the max users per-PPDU supported in Uplink
and Downlink direction, from the fixed params of WMI
service ready ext2 event.
CRs-Fixed: 2747218
Change-Id: Ib9f9bd4313dd1955c607d4fe77b02e34761d1c20
Host updates band to mac params and sends to FW in INIT command, FW uses
it to configure MACs. If host configures DBS in INIT command param but
FW doesn't advertise wmi_service_dual_band_simultaneous_support service
then host does not configure band to mac params in INIT command and let
the FW initialize MACs with default value.
As FW supports DBS and at the same time doesn't advertise
wmi_service_dual_band_simultaneous_support, host configures band to mac
params for only one MAC i.e. MAC0. FW either expects both the MACs
configuration from host or both not configured. If host configures only
one MAC, second MAC i.e. MAC1 configure remains empty. FW crashes as it
starts operation on MAC1. Hence host doesn't configure band to mac params
in INIT command.
Change-Id: I00104d7e6b911e0f792597346629b3c77c102c70
CRs-Fixed: 2752248
FW advertises scan radio capabilities as part of service ready
ext2 event. This is an optional TLV, presence of which indicates scan
radio support for the that pdev.
CRS-Fixed: 2746769
Change-Id: I5a0231c54375e9f00c85f0ad92839e2fa6c79f39
Add service ready parameter to update the capability for Preamble Puncturing
Tx support from target. Add WMI support for configuration of Punctured
band setting from Host.
Change-Id: If5714c162356c35c7c385c4596043c0bc671be9a