Currently thermal level can be got from upper layer only
for FW thermal mgmt offload case. Per the requirement,
refine the code to support it for thermal non-offload
case as well.
Similar to offload thermal mitigation, add TX_OFF and
shutdown two states for non-offload case. Host will fully
stop TX traffic in TX_OFF state and target will trigger
shutdown when temperature come to the range of shutdown.
Per above requirement, add below four INI to configure
thermal temperature threshold value as need for TX off
and target shutdown.
gThermalTempMinLevel4
gThermalTempMaxLevel4
gThermalTempMinLevel5
gThermalTempMaxLevel5
Change-Id: I40d097ab8a5801052553ad7adedd38be475c7669
CRs-Fixed: 3413165
Refine target_if_ext_twt_evt.c to remove duplicate conditional
checks.
Also fix some code style errors by adding a blank line return to
last return in the API
Change-Id: I759becd864293b8bec35cb54763bdf4b047537c2
CRs-Fixed: 3402852
The kernel-doc script identified some documentation issues in
components/target_if, so fix them.
Change-Id: Id925b899074b1e9491cc3b9a3066420512459770
CRs-Fixed: 3359868
Currently wma_process_rate_update_indicate sends
two vdev set params separately to firmware.
Combine two vdev set params of
wma_process_rate_update_indicate,
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Icc50569bcc851c5ee269558b80a560b03e1fdcee
CRs-Fixed: 3333758
Currently host sends two ndp inactivity timeout
params to firmware one after the other.
Combine these two ndp inactivity timeout vdev
set params and send to WMI to reduce number of
transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Icaeca85f2aa074f04d268b819fe86f4b7879c25b
CRs-Fixed: 3333749
Currently host sends many pdev/vdev set param
commands separately to firmware from hdd.
Combine multiple pdev/vdev set params and
send to WMI to reduce number of transactions.
Also replace target wmi pdev/vdev params with host wmi
pdev/vdev params to fix existing broken layering
violation.
Change-Id: Ib76f5bd5f582a2c67486f6773ff6fd486b3d84cf
CRs-Fixed: 3333732
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
This is applicable only when the roaming happens from 2.4 GHz/5 GHz
to 6 GHz AP.
The value is used to check if the 6 GHz AP to which we are roaming
(from 2.4 GHz/ 5 GHz) is better than current AP in terms of RSSI.
This checking is disabled if the value is set to zero.
Change-Id: I77f1183e1fd704dfa153841e669a20c9e75d0fe7
CRs-Fixed: 3353346
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This would include the 6 GHz PSC
frequencies by default.
This attribute allow that behavior to be modified to include PSCs only
if 6 GHz use has been detected in the environment.
Change-Id: I6dc380419f14b920737fd87cd9a487c28364563b
CRs-Fixed: 3351697
User can include/exclude the frequencies in roam full scan that
were already scanned by the previous partial scan, using the new
vendor attribute introduced as part of roam vendor command.
Host sends the configured value to firmware.
As per current implementation of roam scan, if there are no APs
found during partial scan, immediately a full scan will be
initiated as a fallback. This includes all channels that were
already scanned as part of partial scan.
This attribute controls the optimization, to exclude all channels
which are already scanned as part of partial scan.
Change-Id: Icd6381b4daadcfe32dabda131ae92e2e32f07f1d
CRs-Fixed: 3343657
When dual sta connected as SBS mode instead of dbs mode, driver didn't set
pcl per vdev, so dual sta had same PCL in firmware, MCC may happened after
roaming.
Fix:
1. Host pass roaming MCC disallow flag to F/W by checking primary vdev id.
2. For platform SBS supported, when doing dbs or sbs, send PCL from table
to F/W directly, allow SCC and SBS<->DBS roaming, don't limit to intra
band, only avoid mcc case if no primary vdev.
3. Use policy_mgr_concurrent_sta_on_different_mac to replace
policy_mgr_concurrent_sta_doing_dbs, add logic to consider SBS when set
PCL to F/W.
4. Change dual sta PCL table to remove mcc channels.
5. When STA channel switch, also update PCL to F/W.
6. For roaming case, do vdev level PCL update for all sta after connection
update in policy mgr, or wrong PCL is got.
Change-Id: I631c84c96da2bba4011b69e4c076db174205c874
CRs-Fixed: 3336768
User can configure roam hand-off delay value using the new vendor
attribute introduced as part roam vendor command.
This change gets the configured value and sends it to firmware.
And firmware delays the roam Hand-off (in msec) by the specified
duration to receive pending RX frames from the current BSS.
Change-Id: Ic328c077cba06532ee8ffed12cde072c816b92e0
CRs-Fixed: 3329964
When firmware attempts roaming to an MLO AP, it tries to find
the complete ML info(all links info) either through ML probe
response or beacons from all the links. It forwards all link
beacons(or ML probe response) to host as part of roam sync
indication through roam sync frame event.
Add support to fetch both link beacons and add them to scan db.
If firmware sends ML probe response, generate link probe response
as well and add it to the scan db.
The link scan result can be used in link connect in case of
hybrid roaming like OWE, 1x,..
Change-Id: Ic8457a5630441d6fd3faeb4791c79422db787f94
CRs-Fixed: 3335225
In management frame TX path from userspace, the
p2p_set_mac_filter structure is used and is defined under P2P
converged macro.
Converge this p2p_set_mac_filter structure to set_rx_mac_filter
structure in qca-wifi-host-cmn to use this by all components
Change-Id: Iefcf36f8b327458b2418bd364ae84b28ca56e7f9
CRs-Fixed: 3306700
Add check 11be supported before send the MLO roam config wmi
command by API wlan_psoc_mlme_get_11be_capab.
Change-Id: I101e2c614efd44c7eabac0f45dc558e044185b6b
CRs-Fixed: 3305746
Based on the new requirement, fw fills the tx packet counts per mcs
and rx packet count per mcs index in the peer extd stats event.
Add logic to parse tx packet count per mcs and rx packet count per mcs
from peer extd stats event.
Change-Id: I4cd8c1ed5dd6942022d9f930f8de0bcbcb679eb5
CRs-Fixed: 3289683
Send MLO Roam config to target, including:
support_link_num: Configure max number of link mlo connection supports.
support_link_band: Configure the band bitmap of mlo connection supports
Bit 0: 2.4 GHz band support if 1
Bit 1: 5 GHz band support if 1
Bit 2: 6 GHz band support if 1
Change-Id: Id59fc93cc271266ff794702d997ffc5113de5bc1
CRs-Fixed: 3273012
Add component for the Constrained Application Protocol.
This component provides interfaces to enable/disable
offload reply/periodic transmitting for CoAP messages,
and also the interface for fetching CoAP messages those
been cached during offload processing.
Change-Id: I91397f598c2702a63e250d50641352d13117777e
CRs-Fixed: 3254535
Currently vdev up status check is wrong
Handle the return status of vdev up properly
Change-Id: I9dbe226d572295038256d5ac42400a4063f358f8
CRs-Fixed: 3265590
Currently host starts the start_rso_stop_timer when it sends roam
stop related commands to firmware. And tries to stop the timer when
it receives roam event with reason ROAM_REASON_RSO_STATUS or
ROAM_REASON_HO_FAILED. Since firmware also sends roam event with
above reasons when host configs other roam parameters. This causes
host confused about whether to stop the timer or not.
To resolve this issue, add one more condition
roam_event->notif_params == WMI_ROAM_SCAN_MODE_NONE
Change-Id: Ia24d5bba1e35bc4102951adcafc76edda7769d35
CRs-Fixed: 3267506
To avoid unmeaningful roaming, when low RSSI trigger,
only roam when rx linkspeed is also bad.
Steps:
1. F/W indicates feature supported by:
wmi_service_linkspeed_roam_trigger_support
2. App sets vdev rx link speed threshold by vendor cmd.
3. Bus_bw_work gets rx link speed from data path periodically.
4. If found rx link speed change from good to poor, or poor to good, send
to F/W.
5. F/W low rssi roaming is triggered only when both RSSI and link speed are
poor.
Change-Id: I56829e42b26e407dd8e989a870aee2b3ea406232
CRs-Fixed: 3261996
Sometimes fw sends roam event with RSO status 7, it does not need
host driver trigger in function target_if_cm_roam_send_stop. When
this scenario happens, driver tries to stop the timer which does
not started and dumps wrong info.
Change-Id: I82f723bb8e8c5b6108caff48a9189eeaf2686a2c
CRs-Fixed: 3261664
In target_if_get_roam_vendor_control_param_event_handler,
there are 2 possible NULL pointer dereference issues:
1. Host calls target_if_get_psoc_from_scn_hdl API to get
psoc object. But as per current logic even if psoc is
NULL, psoc is dereferenced by passing it as an argument
to get_wmi_unified_hdl_from_psoc.
2. Host calls get_wmi_unified_hdl_from_psoc API to get
wmi_handle pointer. But as per current logic even if
wmi_handle is NULL, wmi_handle is dereferenced by
passing is as an argument 1 to function
wmi_extract_roam_vendor_control_param_event.
Fix is to update the sanity check logic for psoc and
wmi_handle pointers to avoid possible NULL pointer
dereference.
Change-Id: I3c3df062b538b05218e729d7bf6806e221073269
CRs-Fixed: 3242435
Add infra to support Dedicated Bluetooth Antenna Mode (DBAM)
feature. It is used to switch between dedicated antenna for
BT and shared antenna for WLAN and BT.
Change-Id: I20b08a2fd446da4e3c17813aa64e368750286114
CRs-Fixed: 3239896
Acquire the runtime pm lock when roam sync event is received
and release after roam sync complete is sent.
Change-Id: Ic56d353dd343f5fcbc228a8d7251e047177b9a9b
CRs-Fixed: 3238723
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID: Add support
for a new roam command to get vendor control parameters
from FW. Host needs to send proper param ID in command
(from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID)
to get corresponding INI value from FW.
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID:
Add support for a new roam event to get param value
from FW. FW sends this event upon receiving
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID command.
Change-Id: I03679bcf359a0f425aab7b9ea1c3cb6d84fbb0ca
CRs-Fixed: 3225160
Add support to parse a new INI named
"bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange"
and send its value to FW via WMI_ROAM_BSS_LOAD_CONFIG_CMDID.
Min, Max and default value of this INI:
Min: -120
Max: 0
Default: -70
Change-Id: I9aa99d887553de4022fc0a31dc0644601cd340d6
CRs-Fixed: 3225548
Currently host sends first, final bmiss count to fw
Add support for bmiss timeout(in seconds)
during wakeup as well as sleep state to fw.
Change-Id: Id748fabdff94f5fa3038bcea1b1cac733ac2dbe1
CRs-Fixed: 3224106
Currently target_if_cp_stats_extract_vdev_summary_stats
function prints bcn SNR which can be RSSI as well based on
whether firmware supports reporting rssi or not.
Add check for firware support to print RSSI/SNR
Change-Id: Ifef7bfad7d79c1a1bb84641bc1d3632f6d683252
CRs-Fixed: 3209907
Add target_if API to send ARP request, LRO config and
DHCP indiacation to firmware.
Change-Id: I2d4af7a5da6c29398ab00205654df9be3d90b665
CRs-Fixed: 3165155
Add support for QCA_WLAN_TWT_SET_PARAM command to configure
QCA_WLAN_VENDOR_ATTR_TWT_SET_PARAM_AP_AC_VALUE attribute.
This attribute provides access category value for
WMI_PDEV_PARAM_TWT_AC_CONFIG. This is used by firmware to
configure access category for TWT HW queue in TWT Responder
mode(SAP).
Change-Id: I5131967ff2061bf6afad7bc5f091a7eb5ee01b8a
CRs-Fixed: 3168197
Replace slave for target, and replace
master for initiator which pair of slave.
Change-Id: I4f758a2149f9314d92cc775d2d665ada0d8c8a43
CRs-Fixed: 3169100
Currently wmi_roam_event_id event handler only register under feature
WLAN_FEATURE_ROAM_OFFLOAD, but it's needed for LFR2 roaming too. So
refine roam event processing for LFR2/LFR3.
Change-Id: Ic07fd8a543142fc1e151f484979ab99ff55ce802
CRs-Fixed: 3161973
Add and Register target if API to process MCC
quota wmi event. Deliver the event to existing
interfaces.
Change-Id: Ib044a336af2f5093dffbb053e65a52a174b85154
CRs-Fixed: 3101870
Rename files with blacklist/whitelist to denylist/whitelist.
Rename files with blm to dlm.
Change-Id: Ief7ce0a797f74460c9708f8d2dd440412af5b7eb
CRs-Fixed: 3099864
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.
Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
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 after sending
RSO stop command to firmware 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.
Also, set WMI_ROAM_SCAN_MODE_FLAG_REPORT_STATUS always when MLO is
supported while sending RSO_STOP to firmware. It's sent only
in case of wpa_supplicant disabled roaming currently.
Change-Id: I8182e60beb9288dba23cc72e978dc781c8ab1707
CRs-Fixed: 3106023
In TWT component, add support for TWT nudge command
i.e when host wants to suspend the TWT session.
Change-Id: I176fdaf0f2ccc2d0656f9108484fc80b409268ef
CRs-Fixed: 3085999
In TWT component, add support for TWT pause command
i.e when host wants to suspend the TWT session.
Change-Id: I8a60bb40fe9d37121d700f246b91e3211af66189
CRs-Fixed: 3085990