Commit Graph

2722 Commits

Author SHA1 Message Date
Vinod Kumar Myadam
eb9de6b459 qcacld-3.0: Update INI parameter default value
Update CFG_DISCONNECT_ROAM_TRIGGER_MIN_RSSI INI min, max
and default values under macro

Change-Id: I9973a032d16c5d8aedb4ad77833b9124de719e86
CRs-Fixed: 3314826
2022-11-02 01:47:30 -07:00
Jeff Johnson
a9db6a8521 qcacld-3.0: Fix misspellings of "detach"
Two misspellings of "detach" were detected in the driver, so fix them.

Change-Id: If3bf51f9c34c25e8519a229492bbab11946754dd
CRs-Fixed: 3324001
2022-11-01 17:54:12 -07:00
Divyajyothi Goparaju
dc01aca04d qcacld-3.0: Replace wlan_reg_set_channel_params_for_freq
Replace all occurrences of
wlan_reg_set_channel_params_for_freq  API with new API
wlan_reg_set_channel_params_for_pwrmode.

Change-Id: I7ae94a7004803a96caeb7a77d03065096afe5f0e
CRs-Fixed: 3144793
2022-11-01 09:17:39 -07:00
Srinivas Dasari
4cfbb4b30c qcacld-3.0: Free the old bcn if new one is rcvd in sync frame ind
Firmware may send two consecutive roam sync frame indications when
it supports MLO roaming. The first event carries link beacon and
second event carries assoc beacon. This is to let host driver have
both the link scan results if host has to take care of link
connect(e.g. OWE MLO roaming, EAP MLO roaming,.. ).
If host driver doesn't have support/doesn't need link beacon,
it would be overwritten by assoc beacon(e.g. wpa2 MLO roaming,
SAE MLO roaming, ..).
This results in a memleak as the previous cached beacon is
not freed(vdev->rso_cfg->roam_sync_frame_ind->bcn_probe_rsp).

Free the existing beacon if new one is received. Also, remove the
current free's from extract_roam_sync_frame_event_tlv() which
doesn't need any such freeing as the copy always happens to a
freshly allocated buffer.

Change-Id: If3b4d6e4b8e1e2af5306171ad7eda28e744da64e
CRs-Fixed: 3322094
2022-10-31 17:13:22 -07:00
Wu Gao
9a0f87ceeb qcacld-3.0: Check tdls peer list size before add new node
Page fault reproted when all tdls peer list size exceed their max
size. So, add the change to avoid this issue.

Change-Id: I66b5f85c8cdc98491b33b2100a55f424d5531ca0
CRs-Fixed: 3321105
2022-10-31 10:51:34 -07:00
Vishal Miskin
4e95648b6f qcacld-3.0: Measure TSF latency between host TSF sync enabled devices
The feature raises a pulses at specified interval in TSF time domain.
The pulses can be used to determine driver level latency between hosts
as they are operating in same TSF time domain.
Add ini "g_tsf_accuracy_configs" to configure parameters for TSF accuracy
feature to customize GPIO pins and interval.

Change-Id: I49609d5beba8043ac2ecc086e97b01d1e0b2d3f6
CRs-Fixed: 3277992
2022-10-31 09:09:19 -07:00
Liangwei Dong
b15dc8b3d3 qcacld-3.0: Fix documentation errors for action oui API
Change "psoc" to "psoc_priv" in documentation of
wlan_action_oui_cleanup.
Correct documentation of API name for action_oui_psoc_enable.

Change-Id: I9e3adbf69ca40967f2680114f4c7f1bb22c391a1
CRs-Fixed: 3323128
2022-10-31 06:00:22 -07:00
Deeksha Gupta
567d5833ff qcacld-3.0: Rename multi_link into multi_link_bv
In struct ie_list, rename multi_link variable into
multi_link_bv.

Change-Id: Id10f62e3ba298da32224c0afec9df4f1b030bc76
CRs-Fixed: 3318529
2022-10-31 04:05:52 -07:00
Jeff Johnson
d6dfd79037 qcacld-3.0: Fix struct set_pcl_cmd_params documentation
The documentation for struct set_pcl_cmd_params has errors, so fix
them.

Change-Id: I07cdc4b73d5d8811fbbafb0a9671dcaf5154883e
CRs-Fixed: 3323040
2022-10-29 01:05:01 -07:00
Krupali Dhanvijay
8a01b9d7ec qcacld-3.0: Add INI support to configure BT Coex traffic Shaping
Add ini support to configure traffic shaping for COEX
i.e. coex_tput_shaping_enable.Host sends this INI to
Firmware via WMI_COEX_CONFIG_ENABLE_TPUT_SHAPING.
Based on this enabled value, FW will do power save with AP
when BT page scan is enabled.

The default behaviour is to do a free run without notifying
a power save to the AP during the BT Page scan.

Change-Id: I4934c98911b66c7c834899ad7cdc72063e9c5153
CRs-Fixed: 3066980
2022-10-27 13:25:11 -07:00
Jeff Johnson
5a9edac67d qcacld-3.0: Fix new misspelling of "disable"
The following change introduced a new misspelling of "disable", so fix
it.
- Change-Id Ie98a1b8681f41f3a63523ac40b5cfb688a7b0cb0
  qcacld-3.0: Handle VENDOR_SUBCMD_SR and operation

Change-Id: I7a06c24cf732b12072377835f01bd50aa5785062
CRs-Fixed: 3319368
2022-10-27 11:30:32 -07:00
Jeff Johnson
55fd78b983 qcacld-3.0: Fix misspelling of "threshold"
The following change introduced a misspelling of "threshold", so fix
it.
- Change-Id Ie98a1b8681f41f3a63523ac40b5cfb688a7b0cb0
  qcacld-3.0: Handle VENDOR_SUBCMD_SR and operation

Change-Id: I255ef45d9978ce777a41564f0d05e6d99efe5a4b
CRs-Fixed: 3319363
2022-10-27 08:00:58 -07:00
Rahul Gusain
38d541df76 qcacld-3.0: Make NAN high priority than TDLS in legacy platforms
Firmware handles all NAN concurrencies in the platforms which
don't advertise the WMI service cabability
WMI_SERVICE_NAN_DISABLE_SUPPORT. Host takes care of the NAN
concurrency if the capability is advertised by firmware.
But there can be some legacy targets where firmware wants to
offload NAN+TDLS concurrency alone to the host and it takes care
of rest of the concurrencies. This is to make NAN of higher
priority and disable TDLS when NAN is active. Currently, TDLS is
of more priority than NAN and it can't change the order as it
can't disable TDLS to change the priority.

Currently, driver doesn't parse the NAN messages(even NAN enable
request) in such platforms. Parse the NAN messages and disable
TDLS upon NAN enable request. Rely on NAN state machine to
allow/disallow new TDLS requests. This needs NAN enable status.

Change-Id: Ie9c7c1cc2f1ed6328a31b93077c2928940fc3450
CRs-Fixed: 3263730
2022-10-26 18:47:42 -07:00
sandhu
d8b7b21f76 qcacld-3.0: For MLO link vdev get partner link info from connect req
If link beacon is not scanned, host driver will send ML probe request
and generate link scan entry from ML probe response. The ML probe
response does not include RNR IE. This is causing failure in the link
vdev connect path as the partner information is updated from rnr ie.

To fix this, for link vdev connection get partner link information from
connect request.

Change-Id: Id22f57cefbf28cb20fa7e17b4b71b362b1ba0ae5
CRs-Fixed: 3312421
2022-10-26 13:06:02 -07:00
Sheenam Monga
e1afc98144 qcacld-3.0: Don't allow MCC for ML links
Don't allow ML links to form MCC, if second
ML link is trying to form MCC then send disable
to FW and FW will decide which link to be disabled
to avoid MCC. Similarly if any SAP/P2P link disables
then ML STA link shouldn't enable back if it can cause
MCC with existing ML link.

Change-Id: I9bd8e257ad3fc3ee54d9e9d79c66962469b0b827
CRs-Fixed: 3313944
2022-10-26 07:29:31 -07:00
Yu Wang
b642d39013 qcacld-3.0: get correct hw mode type for eMLSR mode
For eMLSR mode, the lower 27 bits of hw_mode_config_type
are HW mode and higher 5 bits are MLO Cap flag.

To update MAC frequency info correctly, get hw mode type
for eMLSR by macro WMI_BECAP_PHY_GET_HW_MODE_CFG().

Change-Id: I18a0afb26985b6ccda091fa1564713af0260353f
CRs-Fixed: 3314401
2022-10-26 04:25:10 -07:00
Vijay Patil
30cb851dfb qcacld-3.0: Validate number of links in roam sync indication
Host driver expects maximum of WLAN_UMAC_MLO_MAX_VDEVS links
info in roam sync indication. But firmware may send more
number of links than expected and it may lead to buffer overflow.
Add a check to validate the number of links.

Change-Id: Id89d23470622ba3ca7e01a99cc7c12021ca3dafd
CRs-Fixed: 3314460
2022-10-26 02:52:58 -07:00
Liangwei Dong
be5cc24258 qcacld-3.0: Fix unsafe check failure for SAP
With MACRO FEATURE_WLAN_CH_AVOID_EXT enabled,
"restriction_mask" can only be checked if
coex_unsafe_chan_nb_user_prefer = 1. If the INI
coex_unsafe_chan_nb_user_prefer = 0, do not need to check
"restriction_mask". It will remain uninitialized 0.

Change-Id: If7bd1223ee3779b72fadb40e622f682db03f4ea5
CRs-Fixed: 3287634
2022-10-25 10:11:13 +08:00
Amruta Kulkarni
cc38830548 qcacld-3.0: Clear and set connected links bitmap
In case of MLO to SLO roaming, the connected links
bitmap is not reset for link vdev correctly.

To solve this post roaming, clear and then set the connected links bitmap.

Change-Id: I9e63593fe3452d0c2075360432dfaddc81999ae0
CRs-Fixed: 3317229
2022-10-21 23:25:35 -07:00
David Oladunjoye
b31db9db49 qcacld-3.0: Add lock to Set/clear WLAN_VDEV_FEXT2_MLO_STA_LINK flag
Currently, this MLO flag is being set/clear without regard for
concurrency. We need to lock the vdev when updating these values to
prevent race condition.

Change-Id: I7b1e6424d6fcedc6934a9f6aa1d01068a2b43277
CRs-Fixed: 3305564
2022-10-21 21:30:59 -07:00
Liangwei Dong
77d14af550 qcacld-3.0: Handle disable EHT flag in connect request
If user sets flag ASSOC_REQ_DISABLE_EHT in connect request, driver
will send action oui "ffffff 00 01" to host mlme and also firmware
for action id ACTION_OUI_11BE_OUI_ALLOW, so that all the AP will
be not matched with this OUI and 802.11be mode will not be allowed,
possibly downgrade to 11ax will happen.
If user doesn't set ASSOC_REQ_DISABLE_EHT, driver/firmware will
recover to default oui setting.

Change-Id: I9eab732f1bd29018d44b215c1d6c9bfac9dafe95
CRs-Fixed: 3314489
2022-10-21 15:23:38 -07:00
Qun Zhang
c1640bd3b0 qcacld-3.0: Add INI to configure sap default BW when do restart
Currently CH_WIDTH_MAX is set as default BW when sap do restart,
then apply some checking rules to get the final BW. It's possible
the final BW is greater than sap original BW. But a greater BW
isn't expected in some use cases where greater BW may introduce
some unexpected issues.
Add INI to configure sap original BW as default BW when do sap
restart as required.

Change-Id: Ie274a3eea73c2af9424a8b9ce21bee34eeaaef2e
CRs-Fixed: 3315486
2022-10-21 03:22:22 -07:00
Qun Zhang
25d4a9736b qcacld-3.0: Fix a scheduler_msg CFI failure
This fixes a scheduler_msg CFI failure for function
mlme_wma_vdev_detach_post_cb().

Change-Id: I6271bf9de8d800aac8a804d1daf646063347a71c
CRs-Fixed: 3316558
2022-10-20 18:01:24 -07:00
Anuj Khera
19bc73179e qcacld-3.0: Add check for favorite channel while BSS start
Add check for QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL while
getting the sap mandatory frequency.

Change-Id: Ia1dfdfb0818ed94620295e3f4046fbe16b5a92d8
CRs-Fixed: 3301096
2022-10-20 12:50:13 -07:00
Divyajyothi Goparaju
4ed23d7914 qcacld-3.0: Replace wlan_reg_is_passive_or_disable_for_freq
As part upgrading legacy APIs with 6 GHz power APIs
Replace all occurrences of
wlan_reg_is_passive_or_disable_for_freq API with new API
wlan_reg_is_passive_or_disable_for_pwrmode.

Change-Id: If8429146e3e4e4cb25505de9855671dca2eb6474
CRs-Fixed: 3306631
2022-10-20 12:50:07 -07:00
Anuj Khera
0b1f2e4e97 qcacld-3.0: Add check for 6 GHz in case of SCC
Check for 6 GHz channel for SCC was not there due to which,
6 GHz + 5 GHz(DFS) MCC was happening even if we are forcing SCC.

Change-Id: Iac02b1990ffa91a5b0688d6976bc38cbbd10acfb
CRs-Fixed: 3301115
2022-10-20 10:54:47 -07:00
Jyoti Kumari
47e5799911 qcacld-3.0: Support STA/GC/SAP/GO/ML-STA plus ll SAP concurrency
If there is existing interface STA/GC/SAP/GO/ML STA and
low latency SAP tries to come then allow only if below
condition satisfies
1. DBS hw_mode: Allow if existing interface is on 2.4 GHz
channel otherwise reject.
2. SBS hw_mode: Allow if existing interface channel and low
latency SAP channel are mutually exclusive.

Change-Id: I67a883b89f63fa581379cb303da6c11b43e65912
CRs-Fixed: 3296640
2022-10-20 07:40:47 -07:00
Liangwei Dong
60add48b86 qcacld-3.0: Check potential SAP MCC during disable link
SAP MCC with ML STA link is not preferred since SAP is only
allowed off channel for max 32 ms.
If All ML STA are 5/6 GHz band, force SCC will not happen
for 2 GHz only SAP. Inactive one link if both ML STA are on non
2 GHz band.

Change-Id: I3450a0e66e583320cb91cd549317a197e5d1e039
CRs-Fixed: 3307863
2022-10-20 02:59:55 -07:00
Yu Wang
3ead0539e3 qcacld-3.0: remove improper concurrency combination dump
In hw mode change offload case, frequency of the connections
in table pm_conc_connection_list may be updated later than the
mac frequency info which is updated when processing hw mode
transition event, then the current concurrency combination
dump here which is inferred from mac frequency info and
pm_conc_connection_list may be wrong.
To avoid confusion, replace concurrency combination dump with
current connection status dump when processing hw mode
transition event.

Change-Id: I0d8db410b3db3aa4b35c27f227bc68f5852a86d3
CRs-Fixed: 3315452
2022-10-20 01:11:20 -07:00
vijaraj
53b00c93a3 qcacld-3.0: Add diag logging support for EAPOL start
Add new entry in the enum qca_conn_diag_log_event_type in
order to support EAPOL start packet.

Change-Id: I540ef257ee9425eef016302648844ebf01647372
CRs-Fixed: 3314689
2022-10-19 22:30:25 -07:00
Jyoti Kumari
a142d2edde qcacld-3.0: Support Low Latency SAP + SAP/GO concurrency
Add a support to check if low latency SAP is present on 5 GHz
channel then do not allow SAP/GO to come up on 5 GHz for
both gaming and lossless audio profile.

Change-Id: Ibb9e3365522beec541f70c6c45b8cb68405fd3bc
CRs-Fixed: 3294748
2022-10-19 22:30:20 -07:00
Jyoti Kumari
8a1899b457 qcacld-3.0: Support Low Latency SAP + STA/GC concurrency
Add a support to check if low latency SAP is present on 5 GHz
channel then do not allow STA/GC to connect on 5 GHz for
both gaming and lossless audio profile.

Change-Id: I8e1c62dfea3c27306e338392448f5cc6eed912aa
CRs-Fixed: 3302763
2022-10-19 22:30:14 -07:00
Jyoti Kumari
50245e6aa7 qcacld-3.0: Get low latency SAP frequency
Low latency SAP is supported on DBS and SBS hw and it can come
up on below two profile
a. Gaming
b. Lossless Audio

DBS: Allow only 2.4 GHz channel for both gaming and lossless
audio profile
SBS: Allow non low latency SAP 5 GHz channel which are mutually
exclusive for both gaming and lossless audio profile.

Check whether low latency sap is present or not. If it's present
then get the frequency to validate the concurrency with other
interface.

Change-Id: I39715a01e63de612448d4d0f230e6ccb71b76b15
CRs-Fixed: 3294596
2022-10-19 22:30:09 -07:00
Jyoti Kumari
f0ddb3ec45 qcacld-3.0: Convert ap policy config vendor cmd to host enum
Userspace provide below vendor attribute for low latency sap
concurrency
a. QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AP_CONFIG

This userspace uses the below value defined in enum
qca_wlan_concurrent_ap_policy_config to specify concurrency
policy
a. QCA_WLAN_CONCURRENT_AP_POLICY_UNSPECIFIED = 0,
b. QCA_WLAN_CONCURRENT_AP_POLICY_GAMING_AUDIO = 1,
c. QCA_WLAN_CONCURRENT_AP_POLICY_LOSSLESS_AUDIO_STREAMING = 2,

Convert this above enum value in host to use in concurrency
scenario.

Change-Id: Ibab06f528fd99d8c421376bd02e4c748e9556b70
CRs-Fixed: 3302418
2022-10-19 22:30:04 -07:00
Amruta Kulkarni
2fe6f6adb9 qcacld-3.0: Update link id after roaming
Update the link id in vdev mlme after roam sync is processed.

Change-Id: I4f7a80ad91235ebafd2bab10c1de22ac8798a816
CRs-Fixed: 3314935
2022-10-18 11:56:58 -07:00
Mohammed Ahmed
00fba42e78 qcacld-3.0: move wlan_coex_public_structs.h to qcacmn
Current code has wlan_coex_public_structs.h in qcacld, when it should
be in qcacmn due to convergence of the COEX feature.
Fix this by moving the header file to qcacmn.

Change-Id: Id45c85e0ff492d149cac71c8c0ca5443b879ef15
CRs-Fixed: 3289250
2022-10-18 07:13:31 -07:00
Jinwei Chen
71d2520f79 qcacld-3.0: fix dp memory pre-allocation failure
fix dp memory pre-allocation failure as below,
(1) add pre-allocated memory for extra contexts of
DP_RX_RING_HIST_TYPE on beryllium.
(2) add extra RXDMA_BUF type's memory for SW2RXDMA ring and size same
as RX refill ring size for now.
(3) add pre-allocated memory for REO_STATUS & RXDMA_MONITOR_STATUS ring.
(4) add pre-allocated memory for DP_MON_PDEV_TYPE.

Change-Id: I038d946cf1b8c9dc67c1539ea972bda8239def4d
CRs-Fixed: 3314198
2022-10-18 05:22:10 -07:00
abhinav kumar
59426b95be qcacld-3.0: Control Pre Punc and UL MU-MIMO feature via INI
Control Preamble Puncturing feature via INI "he_rx_pream_punc"
and UL MU-MIMO feature via INI "enable_ul_mimo".

Change-Id: Ib4d6fd10c9e4f46c1baa5070f94d8dddd4978757
CRs-Fixed: 3305742
2022-10-17 18:16:32 -07:00
Liangwei Dong
74aa28da73 qcacld-3.0: Add 802.11be allowed AP OUI INI support
Add INI g11be_oui_allow_list to config 802.11be AP oui which
is allowed to get connected in 802.11be mode.
If the INI is empty, all the ap are allowed to get connected
in 802.11be mode. If INI is set to "ffffff 00 01", then STA
is not allowed to connect to any AP in 802.11be mode.

Change-Id: I98e545ba909c1746237a20c365f8297f16fe666f
CRs-Fixed: 3304021
2022-10-17 12:57:45 -07:00
Rachit Kankane
183358dc26 qcacld-3.0: Check for HESIGA_VAL15_ALLOWED
Check for HESIGA_VAL15_ALLOWED bit before enabling SR prohibit
in SR control field

Change-Id: Ie902941c7642d76901adbf5d685265c0552a814c
CRs-Fixed: 3308160
2022-10-17 06:47:49 -07:00
Rachit Kankane
14e356b81e qcacld-3.0: Add async event for Spatial Reuse
Add async event for Spatial Reuse and also send Spatial Reuse
enable / disable event to upper layer due to same MAC concurrency.

Change-Id: Idcb5b99e39f1810e63ae7ac1e8d2eab6028a163f
CRs-Fixed: 3307801
2022-10-17 06:47:43 -07:00
Rachit Kankane
45f42c90a8 qcacld-3.0: Add concurrency check with SR
Add check for concurrency with SR, if SR with concurrency
is not enabled then disable the SR on existing VDEV as soon as
new VDEV is up.
When this new VDEV is disconnected, then enable back the SR on
the previous VDEV.

Change-Id: Id6aee592b889bb7006efb44420e6d272212e13ba
CRs-Fixed: 3306181
2022-10-17 06:47:37 -07:00
Rachit Kankane
6cdc4ce277 qcacld-3.0: Send PDEV Param command for SR
Send WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD during PDEV
init with disabled PD-Threshold value to initialize SR related
registers in HW.

Change-Id: I49e73c76974e098b6dfbf647a898b53abf8ea2ba
CRs-Fixed: 3306179
2022-10-17 06:47:31 -07:00
Rachit Kankane
983623c4b8 qcacld-3.0: Spatial Reuse enhancement for SAP
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
2022-10-17 06:47:26 -07:00
Sheenam Monga
c4c40f5217 qcacld-3.0: Handle VENDOR_SUBCMD_SR and operation
Add support to parse VENDOR_SUBCMD_SR and to parse
nested attributes OPERATION and PARAMS and to handle
ENABLE operation, Disable operation and prohibit
operation. Enable opeartion may have PD threshold
or in case vendor command doesn't provide PD threshold
host will send PD threshold advertised by AP.

Change-Id: Ie98a1b8681f41f3a63523ac40b5cfb688a7b0cb0
CRs-Fixed: 3299042
2022-10-17 06:47:00 -07:00
Surya Prakash Sivaraj
38061a4dfa qcacld-3.0: Reset SPMK cache before every connection
SPMK global cache in the vdev private is persistent
across connections. Therefore, in cross-ssid roaming
cases with different AKMs, SPMK in the global cache
will always be sent to the firmware in RSO start, even
for non-SAE connections. This causes roam failure.

Reset the spmk global cache for every new connection.

Change-Id: I03deefe16242ef79d0985a8c05881914e6f7af01
CRs-Fixed: 3310182
2022-10-17 04:52:03 -07:00
Surya Prakash Sivaraj
2517893ac1 qcacld-3.0: Enhance the debugs in RSO path
Add changes to enhance the debugs in the RSO path,
to identify the current pmk stored in the rso config.

Also, restrict the PMK dumps to a minimum size of 2.

Change-Id: I6e89afed45f5d43b45508ae43b59400a6e24e5ef
CRs-Fixed: 3312677
2022-10-17 04:51:57 -07:00
Nirav Shah
2e86058c4a qcacld-3.0: Handle twt renegotiation failure scenario
Handle twt renegotiation failure scenario when there is
error reported by firmware as part of
wmi_twt_ack_complete_event_id event.

Change-Id: I91e4bfd8f08ae81b474354c90ab8c770dcdfe19b
CRs-Fixed: 3297783
2022-10-17 03:02:15 -07:00
Ashish Kumar Dhanotiya
013edc14e3 qcacld-3.0: Update vendor1 requirement1 version for feature set
With change update vendor1 requirement1 version to the latest
version 3.3.

Change-Id: I5079c47c65487a9dc97e3f0fe3b38f696a3753bc
CRs-Fixed: 3309523
2022-10-14 13:42:48 -07:00
Yu Wang
61d6a7e8d1 qcacld-3.0: print SSID with QDF_SSID_FMT and QDF_SSID_REF
To protect user privacy, print SSID with QDF_SSID_FMT
and QDF_SSID_REF, then SSID will be hide in logs if
anonymization is enabled.

Change-Id: I3dd129b52c85c84e666f4f07b28a1e58f81259b7
CRs-Fixed: 3291841
2022-10-14 08:31:04 -07:00