Commit Graph

594 Commits

Author SHA1 Message Date
Gururaj Pandurangi
2caef49d8c qcacld-3.0: Add vendor command support for MLO configuration
Add vendor command support to configure MLO and EMLSR mode
capability configuration for EHT testbed and DUT STA. It
includes EHT OM control support, EMLSR padding delay
configuration, enabling STR MLMR mode, forcing power save
on active MLO links for a defined number of beacon periods,
forcing active MLO links, and invoking EMLSR mode entry or
exit.

Change-Id: If4fb2c576b789aa2e28d6742a02ebdc01eb6e994
CRs-Fixed: 3507770
2023-06-09 23:58:37 -07:00
Gururaj Pandurangi
119dbedef1 qcacld-3.0: Disable BSS color collision detection for EMLSR
Disable BSS color collision detection for the following-
- Testbed STA for all modes
- STAUT if EHT mode is EMLSR.
As part of BSS color collision detection, scan is invoked in
FW after the defined detection period and as part of this,
EMLSR exit happens in the middle of tx/rx. Thus, disable the
capability for EMLSR mode.

Change-Id: I6417f7c081c1408372924b20d8985a597a536e27
CRs-Fixed: 3507796
2023-06-09 05:21:11 -07:00
Vijay Raj
cb03ca8b08 qcacld-3.0: Add FW capability check for Multipass SAP
Add check to determine whether FW support multipass
SAP before enabling multipass support

Change-Id: I7db5a7bad6b9ac89c8c4e7c4c177695671402657
CRs-Fixed: 3515310
2023-06-08 20:46:06 -07:00
Vijay Patil
882f3a6e57 qcacld-3.0: Update INI and cfg HE caps for user BW configuration
Update Preamble Puncturing INI parameter "he_rx_pream_punc" to
default which gets from FW.

Also update the cfg HE 2 GHz and 5 GHz capabilities parameters
instead of memcpy.

Change-Id: If424ce4a4fe771a2817677a50a472a2c77529d90
CRs-Fixed: 3515585
2023-06-07 13:58:17 -07:00
Rachit Kankane
29fa4e5ac8 qcacld-3.0: Set max supported BW for STA
Set MAX supported BW for STA so that the device can connect
to APs which are advertizing 20 MHz in beacons but increases
in association response and next beacon.

Change-Id: I8ed418382f696c7461235996c4e90201cafafcb3
CRs-Fixed: 3415718
2023-06-05 03:39:38 -07:00
Sheenam Monga
f2c84fdaac qcacld-3.0: Clean up roam_scan_period_after_inactivity
Cleanup roam scan period after inactivity timer.

Change-Id: Idba15ef9c41fdfe339e24df4ec87a66277986ee3
CRs-Fixed: 3515188
2023-06-02 20:37:26 -07:00
Sheenam Monga
102d99de96 qcacld-3.0: Add cfg for MLO preference percentage
Add support to boost or reduce MLO scoring with
mlo_tp_preference_percentage ini.

Change-Id: I0a1280fe259d9e65e5f0f991d456f650b9d1be69
CRs-Fixed: 3456412
2023-06-02 16:47:36 -07:00
Jianmin Zhu
227d1e75f3 qcacld-3.0: Add 20/40M check for vht when handle beacon
Add function wlan_mlme_convert_he_op_bw_to_phy_ch_width, check 80+80 or
160 with ccfs0 and ccfs1.
Add 20M/40M check for vht bw with prim chan id and ccfs0.

Change-Id: I01a407358d7c310f92c8a69004ebb002b615438a
CRs-Fixed: 3511291
2023-05-31 23:38:14 -07:00
Vijay Raj
6619cea263 qcacld-3.0: Add support for vlan id in SoftAP
Add support for vlan id in SoftAP for Multipass
support.

Change-Id: I4484855c1234221291ab8003303876ed63c7ce9c
CRs-Fixed: 3477054
2023-05-31 21:20:35 -07:00
Jeff Johnson
cd2f747c1a qcacld-3.0: Fix struct mlme_ht_param_info featurization
When ANI_LITTLE_BIT_ENDIAN is not defined, a compiler error is
flagged in the definition of struct mlme_ht_param_info due to a
misplaced #endif, so relocate it.

Change-Id: I72df79a1dfae84c2cd6797d1d112de6ef8ca7ef6
CRs-Fixed: 3498279
2023-05-19 07:27:10 -07:00
Asutosh Mohapatra
c7a8607129 qcacld-3.0: Add new cfg item to disable SP AP connection to VLP STA
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.

Change-Id: I0f20d63f68b2424390ca424188f95f26971c9ada
CRs-Fixed: 3470602
2023-05-10 09:27:42 -07:00
Asutosh Mohapatra
275d59e9b4 qcacld-3.0: Remove relaxed_6ghz_conn_policy cfg item
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.

Hence remove this cfg item and the related APIs.

Change-Id: I3a48a3c6343e57f4f2386ebbab1f88d5052af505
CRs-Fixed: 3470571
2023-05-10 09:27:36 -07:00
Abhinav Kumar
042a37976b qcacld-3.0: Reject GET_CU_FOR_EACH_SUB_BW request for MLO conn
As per requirement, for MLO connection host should reject
GET_CU_FOR_EACH_SUB_BW request and return failure to upper
layer as a response.

Change-Id: I8177d92982c832a17c1657239b69cc3712e1eaf4
CRs-Fixed: 3476349
2023-05-07 18:10:36 -07:00
abhinav kumar
80fc700acf qcacld-3.0: Update connected VDEV channel bandwidth
Host receives QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH vendor
command indication to update STA adapter channel width.

On receiving channel width update indication from upper layer,
first host updates internally and send new channel width value
to FW via WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY.

Target firmware should take care of notifying associated peers
(except TDLS) about change in bandwidth, through OMN/OMI
notification before performing bandwidth update internally.

Change-Id: I517ed1fbf8d074e511f8fb43c9c1dac824c9f084
CRs-Fixed: 3469473
2023-05-03 04:57:48 -07:00
abhinav kumar
62b5a049d6 qcacld-3.0: Process get_cu_for_each_subbw driver command
Host parse newely added vendor command
QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS and trigger
scan to get connected channel stats from FW.

On scan done host sends scan done indication to upper layer
via QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS vendor
command.

Change-Id: I7a4727b66003f6ee96645c5078d1f922b2f18cec
CRs-Fixed: 3461106
2023-05-03 04:57:38 -07:00
David Oladunjoye
8570648f49 qcacld-3.0: Remove ucfg_mlme_reset_twt_reset_cmd() stub
Stub exist for functions that does not exist. Was introduced as
typo that was fixed. Remove the stub.

Change-Id: I59797783ddec41f2afc08bae49191c13500b02fa
CRs-Fixed: 3441916
2023-03-30 20:18:55 -07:00
Vinod Kumar Myadam
01153f2605 qcacld-3.0: Fix in parsing INI macro
In CFG_SAP_PS_WITH_TWT and CFG_DISABLE_SAP_BCN_PROT,
passing value as string instead of numeric.
Causes wrong value while macro expansion.

Passing enum value of false in CFG_SAP_PS_WITH_TWT and
CFG_DISABLE_SAP_BCN_PROT.

Change-Id: Ib8b297ef69cebb71c1e6645f49a75e79393b8c94
CRs-Fixed: 3440741
2023-03-25 11:16:20 -07:00
Sheenam Monga
d05fc12d8b qcacld-3.0: Add support to handle HT LL and LT LL policy separately
Currently, policy_mgr_is_ll_sap_present api is used to check if
ll sap is present or not but different operations may be required
for HT and LT LL AP policy example for LT policy i.e gaming/loss
less audio MCC is acceptable but for HT MCC is strictly prohibited.
So, wrapper functions are added to check HT, LT and any AP policy.

Change-Id: I93dbcd65b1a102d0f879366db26f3d2cf01e030e
CRs-Fixed: 3435203
2023-03-17 12:42:01 -07:00
Aditya Kodukula
b150d1328c qcacld-3.0: Add support for gStaKeepAliveMethod ini
Currently the ini gStaKeepAliveMethod doesn't support
Unsolicited ARP response packets. So, add it.

Change-Id: I614e87e7f173ea5c25c34eaf56de0805d37b26a4
CRs-Fixed: 3433020
2023-03-17 09:12:49 -07:00
Jeff Johnson
59a541e018 qcacld-3.0: Fix wlan_mlme_public_struct.h documentation
wlan_mlme_public_struct.h has some documentation that is not being
processed by kernel-doc since it isn't using the kernel-doc comment
indicator "/**". Fix those comments, and also fix the documentation
syntax errors now reported by kernel-doc.

Change-Id: I407b5abefe8313071e5e99d52d69f181880c431d
CRs-Fixed: 3424372
2023-03-06 17:34:16 -08:00
Jeff Johnson
d5b7eb0a5a qcacld-3.0: Remove unused enum pkt_origin
enum pkt_origin is unused, and is poorly defined so it should not be
used in the future, so remove it.

Change-Id: Ia51ffa4518b36ea50f9ed67007978e228b18c7fc
CRs-Fixed: 3424371
2023-03-06 16:00:11 -08:00
Divyajyothi Goparaju
28632436e5 qcacld-3.0: Add support for g_sap_ps_with_twt_enable ini
As part of new requirement of 'SAP PS with TWT enabled',
add ini 'g_sap_ps_with_twt_enable' support in host
to enabled/disabled SAP power save with TWT enable.

Change-Id: Iea76f9cdef6f0753a6dfcebedc2aeab17d121faf
CRs-Fixed: 3421610
2023-03-06 11:41:43 -08:00
Jianmin Zhu
4dc1a27cf5 qcacld-3.0: Support mld self roaming with high rssi trigger
Support mld self roam between DBS(2 GHz+5/6 GHz) and HBS(5 GHz+6 GHz).
Change high rssi config.

Change-Id: Icb65f26509848a09fe46bf01154a0f42efa073f2
CRs-Fixed: 3416549
2023-03-04 03:54:07 -08:00
Srinivas Dasari
8f1170af29 qcacld-3.0: Fetch bcn/prb rsp received freq based on source addr
Firmware sends beacon/probe rsp received to host as part of roam
sync(frame) indication. Frame received frequency is same as
re-association frequency in case of non-ML or single link ML
roaming.
But the ML probe response might come from non-assoc link in case
of multi link roaming. Probe response received frequency and
reassociation frequency are different in such cases. Some
IEs(e.g. HT_INFO) expect frame received frequency to match with
the frequency mentioned in the IE.
So, fetch the probe response received frequency from source
address of the frame and the ml_info of roam sync indication.

Change-Id: Ife96aa46de10d4cd6882e6d04479dfdd481582d4
CRs-Fixed: 3412842
2023-03-02 16:28:28 -08:00
Paul Zhang
afd194fb4e qcacld-3.0: Correct logic for roam fails in NUD case
If roaming is triggered by source CM_ROAMING_NUD_FAILURE,
then per the INI gEnableNUDTracking to check whether
disconnect current connection or not.
gEnableNUDTracking=2, keeping the connection
gEnableNUDTracking=3, disconnect the connection

Change-Id: I0f321dcf5f3fc1bf7d0c93fa0d70bf4770ccaf35
CRs-Fixed: 3412213
2023-02-24 13:50:44 -08:00
Gururaj Pandurangi
e2119da18d qcacld-3.0: Add API for EMLSR padding delay
Add support to configure EMLSR padding delay subfield.
Host should advertise this value in assoc request if
it's greater than the value configured by FW during boot.

Change-Id: Ia9b1e748745278ed502980697f4851f8044db658
CRs-Fixed: 3364158
2023-02-17 08:00:16 -08:00
Gururaj Pandurangi
8bb46df0d8 qcacld-3.0: Set AMSDU/AMPDU caps per vdev from cli
In the case of EHT, if the mode is MLO then set AMSDU/AMPDU
caps per vdev instead of setting it only on assoc vdev.

Change-Id: Iaf480ee6a42cea83e30f412f663f688c0330d246
CRs-Fixed: 3392015
2023-02-14 21:22:07 -08:00
Sheenam Monga
a3a9b59ba8 qcacld-3.0: Add Support for QCA_WLAN_CONCURRENT_AP_POLICY_XR
Add support to handle new AP policy AP_POLICY_XR to handle
XR AP requirement

Change-Id: I55299bd186b5c97c2571d100cfcc7b6736b8de98
CRs-Fixed: 3403458
2023-02-14 17:18:14 -08:00
Liangwei Dong
15691e1d7c qcacld-3.0: Assign combined ACS weight to 6 GHz PSC channel
For bw higher than 20 MHz ACS request, such as 160 MHz,
weight calculation will combine the neighbor channel's
weight which maybe Non PSC channel, the previous setting of
combined weight to channel of lowest weight of neighbor channel.
That maybe Non PSC channel, that causes the final ACS result
is Non PSC channel, which is unexpected for standalone SAP.

Fix by set combined weight to PSC channel, so that PSC
channel will have a valid weight in final sorting with 5 GHz
or 2 GHz list.

Change-Id: Ic37d005af524f5ff2c8cb2c86647f02ced7c32d7
CRs-Fixed: 3394384
2023-02-11 02:23:20 -08:00
chunquan
d0f7de28a0 qcacld-3.0: Add new ini for roam statistics cache number
Add ini groam_info_stats_num used to control wlan driver
cache roam statistics information number.

Change-Id: I203257af37dcac76c6822ddfcc2e9dc723078a25
CRs-Fixed: 3393712
2023-02-07 06:59:46 -08:00
Will Huang
e5e71efe2c qcacld-3.0: Change AFC enable static configure to INI configure
Currently if host enable AFC in WMI INIT CMD, target will trigger AFC
request if current country has AP SP reg rules. We have changed regdb
on specific SP to enable AFC test, to not affect other SP which shares
regdb and FW, introduce INI to control AFC enable/disable for
flexibility.

And because currently no country support AP SP reg rule per spec,
so disable AFC by default.

Change-Id: I0e5eb2dac0a8df01635437fe8353ca5431ae5d2a
CRs-Fixed: 3393896
2023-02-05 04:32:32 -08:00
Mohammed Ahmed
b083b726aa qcacld-3.0: Fix keepalive enum
Currently gStaKeepAliveMethod and station_keepalive_method are not
mapped properly due to an offset of one. Fix this by updating enum
definition.

Change-Id: I572ee472b0b45816bf26830060d2b0707c90f387
CRs-Fixed: 3385907
2023-01-25 19:35:12 -08:00
Surya Prakash Sivaraj
d6df82c2b6 qcacld-3.0: Add ini to disable beacon protection
Some legacy STA doesn't recognize the EXT CAP IE with
length greater than 8bytes. Therefore, these STA cannot
associate with hotspot broadcasting newer capabilities
in the extended IE.

To fix this, add an ini which would override the beacon
protection config in host driver.

Based on this ini, the beacon protection would be disabled
only for non-6 GHz and non-11be SAP profiles, as beacon
protection is mandatory in 6 GHz and 11be cases.

Change-Id: I672b707f6955fa31938aebba5e25461dd40cee4e
CRs-Fixed: 3378974
2023-01-24 19:12:33 -08:00
Rahul Gusain
4d22da60ff qcacld-3.0: Add print log for new roam scan type
Firmware sends the roam scan info tlv to driver during roaming.
Currently, in this tlv, firmware fills scan type as (0-3) and
driver log this as "PARTIAL", "FULL", "NO SCAN" and "Higher Band"
But with new requirement, idle roaming shall only roam to higher band
(2.4 GHz < 5 GHz < 6 GHz) than current band.
1. If current band is 2.4 GHz, it cannot roam to 2.4 GHz.
It can roam to 5 GHz and 6 GHz.
2. If current band is 5 GHz, it cannot roam to 2.4 GHz and 5 GHz.
It can roam to 6 GHz.
So, to add this requirement, firmware introduces new scan type 4 for
which driver need to log.

Change-Id: I80d1c47a434da5009aed4cab08c6eae91bda5b0e
CRs-Fixed: 3379468
2023-01-19 12:27:01 -08:00
Asutosh Mohapatra
dee1c76bd6 qcacld-3.0: Add new INI to separate scan policy for rest of world users
Currently host drops an AP from scan list if host country is set to
US and AP country is non-US. This implementation violates our
standard regulatory scan policy.

To address this issue, introduce a new INI to differentiate
between our standard regulatory policy with others.

Change-Id: Ie6bd2d1925048aef427136b34d00d361955f40b2
CRs-Fixed: 3377242
2023-01-18 06:00:09 -08:00
Liangwei Dong
4a18155583 qcacld-3.0: Add phy regulatory frequency range check
If phy regulatory capability doesn't support high or low
frequency indicated by MACRO such as HIGH_5GHZ_FREQ,
LOW_5GHZ_FREQ, we should not hard code to the MACRO.
The change adds new mlme API wlan_mlme_get_phy_max_freq_range
to get phy regulatory ranges from target info.

Change-Id: I95f48296ca093c20b1391d7657204eecfb418908
CRs-Fixed: 3376402
2023-01-15 10:13:33 -08:00
Asutosh Mohapatra
ff0430caee qcacld-3.0: Update few INI values
Update RoamIdle_MinRSSI, RoamIdle_RSSIVariation,
RoamIdle_InactiveTime ini default values.

Change-Id: I0c70d4ca3eaf299492d4715485e6a55982399426
CRs-Fixed: 3375824
2023-01-09 23:35:03 -08:00
Yeshwanth Sriram Guntuka
9972a80234 qcacld-3.0: Set to_fw bit in DP vdev for Direct link use case
Set to_fw bit in DP vdev for direct link use case
and also set it when the use case is unspecified as
well.

Change-Id: I7306e22e81303720830cfce4ce19b15d2080d93c
CRs-Fixed: 3369891
2023-01-07 17:58:59 -08:00
Jeff Johnson
cb647fd309 qcacld-3.0: Fix MLME documentation
The kernel-doc script identified multiple documentation issues in
components/mlme, so fix them.

Change-Id: I1fdcdcc7e43c8945044d22aeeca7b2f1b8bec6f7
CRs-Fixed: 3358666
2022-12-27 19:09:28 -08:00
Jingxiang Ge
bf0462e93e qcacld-3.0: clear rate info in mlme priv for non-support rates
When update rate info to vdev mlme_priv, if in current assocrsp
there is no extend rate or mcs rate, need to clear such info.
otherwise such info is still last connection information.
the link rate will display wrongly, test step as:
1 connect with 11g AP
2 config AP to 11b, then connect manually
3 link speed will be wrong on sta side

if extend rate or mcs rate is not present, clear ext_opr_rate_set
and mcs_rate_set.

Change-Id: I8ff1b5804dbbe463d6949d0431079174446c64ad
CRs-Fixed: 3356077
2022-12-26 03:23:34 -08:00
Jyoti Kumari
7ae11c336b qcacld-3.0: Populate edca_pifs_param ie for 6 GHz channel
For LL SAP, populate edca_pifs_param ie in beacon for 6 GHz
channel.

Change-Id: Ic0e85d2dd5864bc4aa6d6a169eae06213f573f0a
CRs-Fixed: 3359474
2022-12-26 03:23:01 -08:00
Zhiwei Yang
977a545222 qcacld-3.0: Fix compile error when WLAN_FEATURE_11BE_MLO disable
Fix implicit declaration compile error when enable WLAN_FEATURE_11BE
and disable WLAN_FEATURE_11BE_MLO.

Change-Id: I688589bef74eaed0baf2a865268cc3ba5cd88873
CRs-Fixed: 3352992
2022-12-22 07:03:59 -08:00
Divyajyothi Goparaju
017f34dd8d qcacld-3.0: configure valid range of value for aliasing INI
There are two different names with different range of
value for aliasing INI's.
So, it should pick the valid range of value wrt INI
name.

Change-Id: I58d4797a0fa598a1e44349c8954dac3378f1a751
CRs-Fixed: 3352412
2022-12-14 02:02:52 -08:00
Roopavathi Lingampalli
fcb513f88f qcacld-3.0: Add Component APIs for required ucfg APIs in DP component
When component dependent functions calling from higher
modules or any other components, it uses ucfg APIs pattern.
Calling ucfg dependent APIs is acceptable for higher modules
like HDD, OSIF but for another components like DP to avoid
using ucfg APIs here, implementing component APIs for existing
ucfg APIs to other components like MLME, TDLS, Pkt capture in
DP component module.

Change-Id: Ib8857eeca6a88810d7875312ff6dc14ffb60bc70
CRs-Fixed: 3351486
2022-12-13 14:06:07 -08:00
Srikanth Marepalli
b73718cf7d qcacld-3.0: Introduce ini to configure roam RSSI diff for 6 GHz AP
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
2022-12-12 15:38:42 -08:00
Jyoti Kumari
af62331dd8 qcacld-3.0: Add WMI interface to configure EDCA/PIFS param
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
2022-12-12 11:49:17 -08:00
Vijay Raj
f101354847 qcacld-3.0: Add FW support for AKM 24
Add FW support for AKM 24

Change-Id: I067c7f2a4eabe680fdd38e78cb5ffbd8ad306ad3
CRs-Fixed: 3301709
2022-12-09 07:31:59 -08:00
Srikanth Marepalli
f6ae09b410 qcacld-3.0: Add vendor attribute to include 6 GHz in roam full scan
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
2022-12-08 02:48:30 -08:00
Srikanth Marepalli
15bbff508e qcacld-3.0: Add vendor attribute to optimize roam full scan
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
2022-12-05 11:11:58 -08:00
Liangwei Dong
0047371885 qcacld-3.0: Move Action OUI INI config to component
Move Action OUI INI config to component.
Add ucfg API to load/parse the configuration.

Change-Id: Ibaab5428bc575394b9a5b464639d24f80f042e93
CRs-Fixed: 3310697
2022-12-04 15:25:52 -08:00