Commit Graph

206 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
3a49e2cdfe qcacld-3.0: Converge p2p_set_mac_filter for management frame tx
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
2022-10-12 08:18:35 -07:00
Jeff Johnson
1f2062962b qcacld-3.0: components: target_if: Fix misspellings
Fix misspellings in components/target_if/...

Change-Id: I0beae0116127034c4c5effb3d48f0cc1356d720f
CRs-Fixed: 3303634
2022-10-07 00:27:18 -07:00
Liangwei Dong
da0b340655 qcacld-3.0: Check 11be supported before send MLO roam config
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
2022-10-05 12:19:59 +08:00
Ashish Kumar Dhanotiya
c8d57a7023 qcacld-3.0: Parse tx and rx packet per MCS from peer extd stats
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
2022-09-16 19:38:41 -07:00
Liangwei Dong
091666830d qcacld-3.0: Send ROAM MLO config to target
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
2022-09-13 21:27:28 -07:00
Yu Wang
befefc565c qcacld-3.0: add CoAP component
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
2022-08-18 05:11:36 -07:00
Azmath Mohammed
0dfc34fa0b qcacld-3.0: Fix for vdev up status check
Currently vdev up status check is wrong
Handle the return status of vdev up properly

Change-Id: I9dbe226d572295038256d5ac42400a4063f358f8
CRs-Fixed: 3265590
2022-08-16 15:18:05 -07:00
Paul Zhang
8aee5c59f0 qcacld-3.0: correct rso_timer_stopped status
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
2022-08-15 12:08:52 -07:00
Jianmin Zhu
5a9556bf4b qcacld-3.0: Update linkspeed state to F/W for roaming protocol part
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
2022-08-12 08:24:53 -07:00
Paul Zhang
66cddca488 qcacld-3.0: Add sanity check before stopping timer
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
2022-08-10 04:04:09 -07:00
Paul Zhang
25e3dfc1ee qcacld-3.0: Enhance congestion report
Enhance congestion report by pdev extend stats.

Change-Id: Ica61112f95e6264db5b46db807e1f5df04b26c98
CRs-Fixed: 3234080
2022-08-03 01:34:02 -07:00
abhinav kumar
f66512e051 qcacld-3.0: Avoid possible NULL pointer dereference
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
2022-07-21 05:50:37 -07:00
Aditya Kodukula
2d9a20e46f qcacld-3.0: Add infra to support DBAM feature
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
2022-07-17 23:12:16 -07:00
Amruta Kulkarni
fca6448671 qcacld-3.0: Add runtime pm lock during roaming
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
2022-07-12 02:30:28 -07:00
Yeshwanth Sriram Guntuka
6529648bf3 qcacld-3.0: Move TC based dynamic GRO logic to DP component
Move TC based dynamic GRO logic to DP component.

Change-Id: I3c6658e8f19a71e548c77ff6fd637148925008d7
CRs-Fixed: 3219451
2022-07-11 13:04:51 -07:00
abhinav kumar
b2c27b3103 qcacld-3.0: Handle vendor control command and event
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
2022-06-25 01:08:39 -07:00
abhinav kumar
7e9e394af6 qcacld-3.0: Add a new INI RoamCU_6GRSSIRange
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
2022-06-24 07:45:49 -07:00
Divyajyothi Goparaju
8515cfbc5a qcacld-3.0: Add bmiss timeout vdev set params
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
2022-06-23 12:57:59 -07:00
Divyajyothi Goparaju
bf5a756cb2 qcacld-3.0: Add separate debug print for RSSI,SNR
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
2022-06-08 09:44:10 -07:00
Amit Mehta
a4db80f465 qcacld-3.0: Add target_if API implementation to DP component
Add target_if API to send ARP request, LRO config and
DHCP indiacation to firmware.

Change-Id: I2d4af7a5da6c29398ab00205654df9be3d90b665
CRs-Fixed: 3165155
2022-05-04 17:09:52 -07:00
Vishal Miskin
d75a1c786c qcacld-3.0: Add support for QCA_WLAN_TWT_SET_PARAM command
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
2022-04-26 07:03:27 -07:00
Amit Mehta
5116bc8f8f qcacld-3.0: Add DP Component Skeleton code
Add new files and Skeleton code for DP component.

Change-Id: I6bfe59f31b292b77bbd728423a4ed53c3e4d1c2f
CRs-Fixed: 3164956
2022-04-21 07:24:26 -07:00
chunquan
7e7f7f24f5 qcacld-3.0: Replace slave for target
Replace slave for target, and replace
master for initiator which pair of slave.

Change-Id: I4f758a2149f9314d92cc775d2d665ada0d8c8a43
CRs-Fixed: 3169100
2022-04-14 02:34:27 -07:00
Qun Zhang
3f80fae5f0 qcacld-3.0: Refine roam event processing for LFR2/LFR3
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
2022-04-09 01:22:20 -07:00
Liangwei Dong
ea23c5f897 qcacld-3.0: Process MCC quota target event
Add and Register target if API to process MCC
quota wmi event. Deliver the event to existing
interfaces.

Change-Id: Ib044a336af2f5093dffbb053e65a52a174b85154
CRs-Fixed: 3101870
2022-03-24 13:18:12 -07:00
chunquan
abefa5a8b4 qcacld-3.0: Rename folder of blacklist_mgr
Rename folder of blacklist_mgr.

Change-Id: I426d1150d91a8fc97fc483836c954b742e8c8211
CRs-Fixed: 3102372
2022-03-15 20:43:56 -07:00
chunquan
03c551de67 qcacld-3.0: Rename files with blacklist/whitelist
Rename files with blacklist/whitelist to denylist/whitelist.
Rename files with blm to dlm.

Change-Id: Ief7ce0a797f74460c9708f8d2dd440412af5b7eb
CRs-Fixed: 3099864
2022-03-14 08:50:05 -07:00
chunquan
f07969a044 qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.

Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
2022-03-05 07:10:49 -08:00
Srinivas Dasari
db3c1a98e5 qcacld-3.0: Wait for RSO stop response from firmware
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
2022-02-18 23:21:06 -08:00
Srinivas Girigowda
8d529074a0 qcacld-3.0: Add TWT nudge support to componentization
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
2022-02-11 00:23:05 -08:00
Srinivas Girigowda
82b323d139 qcacld-3.0: Add TWT resume support to componentization
Add TWT resume support to componentization.

Change-Id: I3e6d81591e9a7739050445e4a67d81626febf68f
CRs-Fixed: 3085995
2022-02-11 00:22:55 -08:00
Srinivas Girigowda
0142156257 qcacld-3.0: Add TWT pause support to componentization
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
2022-02-11 00:22:45 -08:00
Srinivas Girigowda
96132d1c52 qcacld-3.0: Add TWT notify support to componentization
Add TWT notify support to componentization.

Change-Id: I44afb4a0d045916e9ca0f29924330de3a5d95859
CRs-Fixed: 3085549
2022-02-11 00:22:05 -08:00
Srinivas Girigowda
fa14a0ad6b qcacld-3.0: Add TWT sta teardown support to componentization
Add TWT sta teardown support to componentization.

Change-Id: I5a0f05105aad1aa92257af47f50913ae1e61730a
CRs-Fixed: 3085543
2022-02-11 00:21:58 -08:00
Srinivas Girigowda
5fd6f2b7d8 qcacld-3.0: Add TWT setup support to componentization
Add TWT setup support to TWT componentization
i.e to setup TWT session.

Change-Id: Ic79be278b264634d1d54759950167547d0daf1ef
CRs-Fixed: 3085483
2022-02-11 00:21:51 -08:00
Srinivas Girigowda
a76b7145d5 qcacld-3.0: TWT WMI callback registration/deregistration
Add TWT WMI event registration and deregistration

Change-Id: Ib6cadfe05ba38f3ca33fb9f128c40698d6a969c0
CRs-Fixed: 3085525
2022-02-11 00:21:44 -08:00
Srinivas Girigowda
7aad8411ab qcacld-3.0: target_if: Add TWT componentization public structs and files
Add TWT componentization public structs, files and skeleton code.

Change-Id: I9b929f87d172faf27bc54f37eee911e0d0f5086c
CRs-Fixed: 3085498
2022-02-11 00:21:02 -08:00
chunquan
51509a327f qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist for
blacklist manager component. and replace blm with dlm.

Change-Id: I8dec146d8cb3b61dc891b72bea44704b8ab733fe
CRs-Fixed: 3087575
2022-01-14 03:50:03 -08:00
Jianmin Zhu
07775e1204 qcacld-3.0: Fix memleak for roam_synch_frame_event
When wmi_roam_synch_frame_event receieved from firmware, memory is
malloced to save probe rsp/reassoc req/reassoc rsp once extract event,
when copied to vdev rso_cfg->roam_sync_frame_ind, memory is malloc again,
and original memory isn't freed, memory leak happens.

To fix it, assure memory is only malloced once to save
probe rsp/reassoc req/reassoc rsp when handle wmi_roam_synch_frame_event.

Change-Id: I6b31378bcf624547fca9fd858268252fd22f533d
CRs-Fixed: 3107576
2022-01-11 19:40:45 -08:00
Vulupala Shashank Reddy
b5e2542a4d qcacld-3.0: Add support for qos null filters in packet capture
Add support to send qos null frames received from firmware on
STA interface to mon interface based on config value. The config
value get update based on vendor command set by user.

The packet filter check in ucfg_pkt_capture_process_mgmt_tx_data
moved to target_if_mgmt_offload_data_event_handler. So that we
will not allocate any buffer if filter is not set.

Change-Id: I426b340c5a65711ada971062af95ae039d18d0bd
CRs-Fixed: 3076241
2021-12-22 14:06:50 -08:00
chunquan
406c530769 qcacld-3.0: Move ipa code to cmn and fix compile
Fix compile error, and register a common api

Change-Id: If296dfe70529e1ef6e0bb3094b6fa63aa4c0b8d6
CRs-Fixed: 3081328
2021-12-20 22:44:25 -08:00
Surya Prakash Sivaraj
6ae47b3e0b qcacld-3.0: Update preauth candidate entry to scan table
During SAE roam auth offload, update the beacon/probe response
frame coming from the FW via WMI_ROAM_FRAME_EVENTID into the
scan db.

When the bss info of the preauth candidate is unavailable in
the host/kernel scan entry, supplicant fails to determine the
proper SAE PWE config of the peer and the commit request fails.

Change-Id: Ia782ece7bebf8274f949fe9fb3b2a2882bf47597
CRs-Fixed: 3075458
2021-12-02 12:14:52 -08:00
Amruta Kulkarni
15760d2d1b qcacld-3.0: Fix double free in cm_roam_pmkid_request_handler
Currently memory allocated for structure roam_pmkid_req_event
is freed in two places causing usage after free.
Fix is to free memory only once in
target_if_pmkid_request_event_handler api.

Change-Id: Idc70e8437f89cb1cf4f6d35f924085409994714a
CRs-Fixed: 3064667
2021-12-01 04:22:46 -08:00
Jianmin Zhu
e327eadc63 qcacld-3.0: Fix allowlist roaming failure
For allowlist roaming, EAPOL isn't offloaded for PMK changed, then
RSO is stopped and allowlist ssid is cleared in F/W, but when RSO
is restarted after EAPOL finished, allowlist ssid isn't reset to F/W,
so allowlist roaming will fail after that.

To fix it, when roam start or update cmd is sent to F/W: update
allowlist ssid and denylist to F/W.

Change-Id: Ia8ddc251767dfc04d9a6cfd1e7c1074ab0e88e96
CRs-Fixed: 3081226
2021-11-26 03:19:12 -08:00
Jingxiang Ge
4ffd095d91 qcacld-3.0: Classify qmi/wmi for WMI_REQUEST_STATS_CMDID
Current only TYPE_STATION_STATS is designed to be send
by qmi. and other request type should send by wmi.
if sending by qmi, qmi_get/qmi_put should be call to protect
qmi send and qmi response.

Change to check type and only allow TYPE_STATION_STATS to be
send by qmi.

Change-Id: I57b0bdb6717e259606993ea24ef024745a456664
CRs-Fixed: 3073744
2021-11-22 13:36:09 -08:00
Li Feng
f50a9f03fe qcacld-3.0: Support to deliver mlme event to SON
Support to deliver below mlme event to SON:
MLME_EVENT_VDEV_STATE,
MLME_EVENT_INST_RSSI,
MLME_EVENT_TX_PWR_CHANGE.

Change-Id: I0535d80cea155f5b94abecfa609d34940e57cdd7
CRs-Fixed: 3054810
2021-11-12 08:52:49 -08:00
Srikanth Marepalli
5de37373cb qcacld-3.0: Vendor command changes to enable the roam events stats
Add new vendor command to enable the roam events stats from the
driver/FW in both resume and suspend mode.
New roam param is introduced to indicate the FW to enable/disable
the roam stats using the new roam set command.

Change-Id: I6d04f0946e6735613a4cf3d4361bf31052314fa0
CRs-Fixed: 3036518
2021-11-08 09:41:27 -08:00
Srinivas Dasari
b0b8c6afb5 qcacld-3.0: Drop the blacklist event if no APs are present
Currently, target_if forwards the blacklist event to upper layers
even if there is no AP info present. This event can be dropped in
target_if to avoid accessing unallocated memory.

Change-Id: Icfaabb0a8e3304882979ffde7f5cd27fd4c8a067
CRs-Fixed: 3057424
2021-10-22 18:19:15 -07:00
Pragaspathi Thilagaraj
c304893863 qcacld-3.0: Enable time sync only on connection/roam
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
2021-10-22 12:40:33 -07:00
Yu Tian
25985fb598 qcacld-3.0: Add TX pending indication when sending wake up to FW
FW may experience HWDTIM mode enter and exit, if HOST can't queue
frames fast enough, this will bring 10ms latency for TX under WoW.
This change adds an indication bit to notify FW whether a TX happens
after WoW wakeup, then FW can discard HWDITM and reduce TX latency.
Change-Id: I74f7311fc0639186ee0bca711160bb8c0d5d9fb3
CRs-Fixed: 3055501
2021-10-18 14:51:37 -07:00