Currently host sends bmiss set param commands
separately to firmware.
Combine bmiss set params send to WMI to reduce
number of transactions.
Also replace target wmi vdev params with host wmi
vdev params to fix existing broken layering
violation.
Change-Id: I5867ee76f68abf462becafc1f5f80c422c239f4b
CRs-Fixed: 3333237
Add WMI interface(WMI_VDEV_SET_TWT_EDCA_PARAMS_CMDID) to
configure EDCA/PIFS param for LL SAP.
This configuration depends on edca_param_type.
If edca_param_type is 0 then host will configure EDCA param and
send it to firmware via WMI interface.
If edca_param_type is 1 then host will configure PIFS param and
send it to firmware via WMI interface.
Change-Id: I09f49474c0a698257d06aa4f1a17b56aae735fa5
CRs-Fixed: 3349447
Host/fw doesn't support the ml peers or legacy peers with same
mac address, So reject the client with the same link address or
mld address as one of the ml or legacy peers in the system.
Change-Id: I5f625e06c1f3832739d0424e1567a9957037fef8
CRs-Fixed: 3344809
STA_ENTRY_TDLS_PEER is defined under feature flag FEATURE_WLAN_TDLS.
With FEATURE_WLAN_TDLS=n, compiler throws use of undeclared identifier
'STA_ENTRY_TDLS_PEER'.
Hence fix the error in wma_he.c:1276 introduced in change
I16073a51a8949093872f7a421e0ad01648b63e92.
Change-Id: I0038dad70147b5c4ded2abad34baf50c8bc32f83
CRs-Fixed: 3275175
Currently, Host populates link IDs per link and sends it to FW
in case of EMLSR mode. Add new API to exclusively extract link
ID per vdev and share with FW via peer assoc command and hence
extend this logic across all MLO modes.
Change-Id: I270f3a54ee806bdcf1a2713f5a569d3a52743954
CRs-Fixed: 3300101
Add below two enhancements for SAP
1. Spatial Reuse enabled in single MAC concurrency
2. Set bit HESIGA_Spatial_reuse_value15_allowed in SRP IE
Change-Id: Id2d3d04ae1b3b9a2e6d84f30749b577bc7b79061
CRs-Fixed: 3305447
Clean up useless legacy code wma_roam_auth_offload_event_handler.
It is replaced by target_if_cm_roam_auth_offload_event already.
Change-Id: I473d20f70c00c7d0e4c390a19b4ec6fdf9c0268b
CRs-Fixed: 3290006
Extract MSD capabilities from assoc response from MLD AP
and share the params with FW via peer assoc cmd on all MLO
links.
Change-Id: I301f56c37b6d0d2c56af13eec72d2e452a1508ed
CRs-Fixed: 3271116
Currently channel info stats are stored in LIM. Refactor
code to store channel info stats in cp stats component.
Change-Id: I2e7219c112e96916d3b73f974dd9803b9c2821c3
CRs-Fixed: 3265722
Refine PASN peer delete all path, to post message to
scheduler thread to process the peer delete all
message for PASN peers. Handle response timeout in WMA.
Resume vdev deletion after removing pasn peers
Add vendor command support to parse below vendor commands:
QCA_NL80211_VENDOR_SUBCMD_PASN
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT
Send install key command to firmware to install the
PTK upon receiving
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT
vendor command. If LTF keyseed is also received,
send the LTF keyseed to firmware.
Sent PASN auth status to firmware upon receiving
QCA_NL80211_VENDOR_SUBCMD_PASN command.
Change-Id: Idc9c69f7288b0774cc6d9bdcfed13ba3684bbc72
CRs-Fixed: 3231205
Irrespective of 6 GHz, wideband can be supported.
So, Allow TDLS connection in wideband only if FW supports TDLS
on 6Ghz.
If Fw doesn't support wideband then restrict the TDLS connection
BW to APs Bw.
Change-Id: If726233f381921a8eda25ac7a2705942db79d410
CRs-Fixed: 3223760
Add eMLSR HW mode support for ML STA. eMLSR mode
(Enhanced Multi-link Single-Radio) is a new HW mode within 802.11be
op mode. This change consists of the following
1) Handle the new eMLSR HW mode. FW sends this capability to host via
extended service ready event.
2) If FW supports this mode, then update the eMLSR capability sub-fields
in the Basic-variant MLO IE under the assoc request frame.
3) Provide peer info like eMLSR capability, transition timeout, and link
IDs to FW through WMI_PEER_ASSOC_CMDID.
Change-Id: Idc00f5f780b5617e513f307952b58277669dee85
CRs-Fixed: 3184708
Add EHT MCS to rate mapping for NSS 1 and NSS 2.
Update TX/RX bitrate for EHT connection depending on current MCS/NSS
configuration.
Change-Id: I0c55beab2c6b9a9609d5a2e454a0c0e8c1312d09
CRs-Fixed: 3181127
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.
Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
Currently, wakelock is only taken during initial connection if
pairwise key installation is pending and not during roaming. This
may lead to EAPOL delay/timeout during roaming as runtime pm and
suspend is allowed during roaming. To fix this issue, acquire
wakelock if key installation is pending during roaming.
This change also refactors the code and release the wakelock in
wma_remove_peer if EAPOL fails during initial connection or roaming.
Change-Id: Id4cac30b3c383ca3d3e963571846f8a30eaa1006
CRs-Fixed: 3189799
Currently driver does not caches peer nss and it needs this info
for big data stats. When driver receives big data stats command
it always returns nss as 0 which is not correct.
To address above issue, add support to cache peer nss in SAP
mode.
Change-Id: I5152581d7d66b5bf20f6102dcb9edaa4e23b35bc
CRs-Fixed: 3174420
Issue scenario, 1st Addba response tx and set is_mgmt_data_valid false.
2nd TX frame happens for valid frame that needs to be logged and set
wma_handle->is_mgmt_data_valid to true. Then the 1st frame TX completion
tried to access wma_handle->mgmt._data. It may access invalid context if
race condition happened.
Move management frames handling from lim_send API to tx_complete_cnf API
Change-Id: Ib5090dcd274160b3a9d7b9975d0839ec06616b86
CRs-Fixed: 3154710
If the multi-client Low latency feature is enabled
in the driver, the host includes a multi-client id
bitmap and the corresponding latency level and sends
the WMI_WLM_CONFIG_CMDID command to set the latency
level in the firmware.
FW calculates a stringent latency level and as a
response to the WLM config command, Fw sends an event
WMI_LATENCY_LEVEL_EVENTID to the host to configure a
stringent latency value.
Change-Id: Ib7a474956f39ef26e1d957b7619ebb8ac87233a6
CRs-Fixed: 3180939
Add support for below SON peer ops:
PEER_SET_KICKOUT
PEER_SET_EXT_STATS
PEER_REQ_INST_STAT
PEER_GET_MAX_MCS
Change-Id: Iafadd17d6a13cfbba2884e50a0432c34115cd7f7
CRs-Fixed: 3141862
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.
Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
optimize logs in one line for func sch_qos_update_broadcast and
wma_process_update_edca_param_req/wma_update_edca_params_for_ac,
to avoid printing in loop
Change-Id: I0feaa9822406a2610959bb8edbb1ce40b3a9cae8
CRs-Fixed: 3128531
When WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE enabled and user space sets
mac address, host will detach vdev and attach again without setting
vdev tx data callback. Then host tx TDLS discovery request timeout
since lim_mgmt_tdls_tx_complete isn't called, finally TDLS link
establish failed. This change set vdev tx data callback after dp vdev
detach and attach done.
Change-Id: Iada58ba2df0612a92503ccfa5f246f7cca9db9ad
CRs-Fixed: 3112831
Intersecting EHT beamforming configuration from ini and FW
indication, then save it to eht caps of mlme.
For sta, update mlme EHT beamforming configuration to FW
through WMI_VDEV_PARAM_SET_EHT_MU_MODE directly.
For ap, intersecting mlme EHT beamforming configuration and user
configuration, then send result to FW.
Change-Id: I3d6185896af9fc58eb1fb6db913d4a425f72c696
CRs-Fixed: 3113235
CM, PE and WMA changes for mlo roaming
- Roam start and roam sync propogation updates.
- Handling connected link bitmap.
- Link specific assoc response generation
- WMA changes to handle add/remove peer
for mlo roaming scenarios.
Change-Id: I365a26ebb761d93dadd33c9fb8248c28e9eda94b
CRs-Fixed: 3033766
Delete the BSS peer if failure happens before STA "Join"
and wait for peer delete event.
After peer delete event is received, send lim_cm_send_connect_rsp
to CM to continue the next candidate try.
This is to avoid previous bss peer deleting pending and send
new bss peer create wmi command to target, which is unexpected
by target.
Change-Id: I5da969546994d9a6fe3cd5053f468fb59ba13e18
CRs-Fixed: 3100305
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. Interface down and up will lead to VDEV
delete and VDEV create commands to the FW.
To optimize Host-FW interactions during set MAC address, add support
to update the MAC address without bringing the interface to down state.
Change-Id: I76afa8f8c2504e8271bf689392d526f994afff0a
CRs-Fixed: 3063201
After roaming, old peer is deleted and new peer is created,
rx tid queue of new peer need set up again.
In dp_rx_tid_setup_wifi3, if CM is in ROAMING state,
dp_peer_rx_reorder_queue_setup isn't called, REO queue descriptor
isn't configured correctly by host for FW to do reorder/pn check.
To fix it, in dp_rx_tid_setup_wifi3, if CM is in ROAMING state
and not ROAM_START substate, but ROAM SYNC state after roam sync
event received, dp_peer_rx_reorder_queue_setup still can be called,
rx tid queue of new peer will be set up.
Change-Id: I34fbb60ad509a0bc70e112c7ec53a862c8f9ce2d
CRs-Fixed: 3090061
Currently there is no provision to get the calibration failure
information from the driver. Because of this it is getting difficult
to debug the calibration failure issues.
To simplify the calibration failure issue debugging, add support to
parse calibration failures events in the driver.
Change-Id: I6d831804cca259862fea3e8bb4af33d556138d43
CRs-Fixed: 3078926
Currently, Host is not caching the response status for the set HW mode
request. Without this status, it is difficult to debug HW mode mismatch
between host and FW when the logs are not available during the set HW
mode command.
To address this, cache the set HW mode response status.
Change-Id: I61b935d54648bc80901bfe7127227ffaa8d7cd7b
CRs-Fixed: 3076445
Instead of the wma macro use the wmi macro to validate the max
supported arguments for the unit test command.
Change-Id: Ia6b8e5a57f3f1d4ca14efddd8c16ff5d7931cad8
CRs-Fixed: 3070809
FW sends lower band end frequency filter in service ready
ext2 event.
Frequency Info for every supported mode gets updated in
wma_update_hw_mode_list when service ready ext evt is
received.
Although, FW sends lower band end frequency filter in
service ready ext2 event.
So, update SBS Frequency Info when Service ready ext2 evt is
received.
Change-Id: Iefe1e601bffaba877979e7ce42a32763b61293c2
CRs-Fixed: 3073649
Cleanup WMA HWMODE and WMA HWMODE List
as the same functionality is already taken
care by policy manager
Change-Id: I5dc1342422e70737111f882013ed3a6351a85336
CRs-Fixed: 3064739
Currently WMI_DBGLOG_TIME_STAMP_SYNC_CMDID command sent
every 1 sec causes RTPM collapse and inturn has power
impact. So to avoid this enable time of the day synchronization
only after connection/roaming.
Send WMI_DBGLOG_TIME_STAMP_SYNC_CMDID as part of RSO
start command.
Change-Id: Iee3cefe1318a6e5507a43cefb9666cc2a439fe06
CRs-Fixed: 3060762
wma to target_if convergence code is guarded under the feature
flag ROAM_TARGET_IF_CONVERGENCE and it's is enabled currently.
Remove the flag usage and remove the deprecated code(else part)
also.
Change-Id: I6973d9c366ec6a9c6164dd19f6f4775dd3ebf5f0
CRs-Fixed: 3049942
Define a new RTPM wake lock for NDP and create the functions
wma_ndp_prevent_runtime_pm()/wma_ndp_allow_runtime_pm() for it.
Change-Id: I6e70065b8c1ce3c91c411638957e13efff5a64ba
CRs-Fixed: 3050943
Fill the management frame data and enqueue the filled record to the logging
queue.
Frame sequence number, peer rssi, tx_status, authentiation algo,
authentication frame transaction sequence number will be filled to the
log record.
Change-Id: I069b7816fdc52eeed964d6586c52b58d1a5d5cd4
CRs-Fixed: 3030075
Currently host driver processes radio stats events with
scheduler thread without any lock and invokes hdd callback.
In hdd these stats gets handled in user space thread and after
processing stats, user space thread frees the memory allocated
in wma. Since one thread allocates the memory and other
thread frees the memory, this can lead to race conditions where
this memory might not get freed and mem leak can happen.
With this change add locking mechanism to allocate, use and to
free the memory.
Change-Id: I95906133bb2208a258c5cec16f4f01b1321ed0c2
CRs-Fixed: 3020218
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: Ie04d4eb01f1a039f068b32b6c53aa3e65c919518
CRs-Fixed: 2987483