Commit Graph

670 Commits

Author SHA1 Message Date
jingxiang ge
1c1828f5d8 qcacld-3.0: Extract aux device capability
Extract aux device capability and store it in wma/hdd/mlme.

current only 1 aux supported so only save info
for aux0.

Change-Id: Ib19bad6cf3c0bda5a31ea4993a2f7e587b2043e2
CRs-Fixed: 3549751
2023-07-30 22:44:50 -07:00
Deeksha Gupta
bbece0a981 qcacld-3.0: Add support to Dynamic TDLS enable
Add support to dynamic enabling the TDLS.

Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE

Change-Id: I3b9164ba04a4d9c23d7f580020966c222f8bd359
CRs-Fixed: 3562148
2023-07-27 22:24:09 -07:00
Deeksha Gupta
167488b437 qcacld-3.0: Add support to send TDLS avail and no. connected peer
Add support to send whether currently TDLS is available or not.

Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
Vendor attr: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_AVAILABLE

Also add support to get the TDLS number of active sessions
using below vendor attr.

Vendor subcmd: QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
Vendor attr: QCA_WLAN_VENDOR_ATTR_TDLS_GET_STATUS_NUM_SESSIONS

Change-Id: Ie9ad09de9593559c4d57599a9af58a95af99e60f
CRs-Fixed: 3554429
2023-07-27 22:23:58 -07:00
Paul Zhang
39dcbc8810 qcacld-3.0: Add logic to control WIFI standard per vdev
With these APIs, vdev connection is effected by the
WIFI standard version. For example, if wifi_std is
wifi6, then the connection will not use 11be feature.

Change-Id: I8f762f9cf16d876d5cf2847561b61c11a23e97b5
CRs-Fixed: 3554305
2023-07-20 19:18:40 -07:00
Paul Zhang
7f78965c87 qcacld-3.0: Add API to restore or clear user set link num
Add API to restore or clear user set link num when SSR or
interface down happens.

Change-Id: I955937817481740dc3dd75b51d669ed36b5f74d2
CRs-Fixed: 3531260
2023-07-20 01:11:24 -07:00
Paul Zhang
11a1a57d1d qcacld-3.0: Save EPCS Capability in psoc
Save EPCS Capability in psoc instead of vdev to avoid the value
lost when random MAC setting happends.

Change-Id: I35299da59156dc1197adaa3350b0d11255b76c2e
CRs-Fixed: 3551773
2023-07-12 21:59:36 -07:00
Prasanna JS
d20796e882 qcacld-3.0: Add support to configure UL MU
Add support to inform peer enable/disable UL_MU
support in STA mode using OMI frame.

Change-Id: Ie12f4991654f7504802b4ae0fbdd26aecda1ee63
CRs-Fixed: 3546176
2023-07-11 03:16:53 -07:00
Deeksha Gupta
e139bd3f3b qcacld-3.0: populate num_max_mlo_link_per_ml_bss during WMI init
Set num_max_mlo_link_per_ml_bss during WMI init command.

Change-Id: I2eb5473d73476cb49ba9176be68a0ac20b3e44ba
CRs-Fixed: 3512395
2023-07-10 12:12:47 -07:00
Deeksha Gupta
e6770d16fb qcacld-3.0: Add new field for N-link MLO connection in wmi_service
Extends the wmi_service_ready_ext2_event_fixed_param
structure with a new field to support N-link MLO
connections.

The host will now calculate the maximum number of
links per MLD value by intersecting the firmware
capability and the ini value present in MLME component.
And this calculated value will be stored in the MLME
component.

Change-Id: I89bf3553781cd809cdb5496fbf0f68e59569033a
CRs-Fixed: 3512343
2023-07-10 12:12:41 -07:00
Prasanna JS
0e84071910 qcacld-3.0: Move get sta tx/rx nss functionality to mlme
Move get_sta_tx_nss and get_sta_rx_nss functionality to mlme

Change-Id: I7b317c164d98bf7ed29f5a212c64322a5325aa4b
CRs-Fixed: 3546201
2023-07-05 17:17:54 -07:00
Paul Zhang
fe32c542b7 qcacld-3.0: Add vendor command API for EPCS
Add vendor command API to set EPCS (Emergency Preparedness
Communications Service) capability and trigger EPCS
function enable or disable.

Change-Id: I2ffe4d268731c57dd6e3ddfe0586d4dcb77dc611
CRs-Fixed: 3511170
2023-06-30 04:26:30 -07:00
Abhinav Kumar
4704ced888 qcacld-3.0: Update assoc channel width as per mlo vdev
The issue is host always uses assoc link channel width
to calculate the list of the channel(s) to trigger
wide band scan for both links.

In the case of N link MLO connection, the associated
channel and associated channel width may be different
for assoc link and non-assoc link(s).

Fix is to choose the proper associated channel width
and prepare the channel list for each link(s).

Change-Id: I2fce5d1153d396f1bfc9575572d90d2cfec0ac8a
CRs-Fixed: 3539444
2023-06-29 18:14:20 -07:00
Rachit Kankane
5e32b65f93 qcacld-3.0: Channel width from peer phymode
Add MLME API to get channel width for STA / P2P-CLI mode
from peer phymode

Change-Id: Iffef01b5fe0ad603ae3b75a659144c3fdcc23a02
CRs-Fixed: 3529931
2023-06-14 20:25:41 -07:00
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
abhinav kumar
966ceefe89 qcacld-3.0: Process get cu_req for 2 GHz band connection
Process GET_CU_FOR_EACH_SUB_BW request from the upper
layer in case DUT is connected with a channel width
of 40 MHz and the connected frequency is in the 2 GHz
band.

Change-Id: Idc748f83af72baed946340c61d5c6a0bba1baf00
CRs-Fixed: 3506871
2023-06-02 16:47:56 -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
Jianmin Zhu
7553c36974 qcacld-3.0: fix wrong peer bw issue
Chan width 1 in vht operation means >=80M, while chan width 1 in eht op or
he op means 40M, need be handled in different way.

Change-Id: Ib65dca6245c33f07df351b6ac7eed86f91b372c7
CRs-Fixed: 3506080
2023-05-26 08:15:22 -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
chunquan luo
cae0b75f8b qcacld-3.0: Change roam background scan abort log
Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Change roam abort background scan log instead of fail.

Change-Id: Ia10f010e8c353b12bdbbe0407c8e3d30b1ea45c2
CRs-Fixed: 3469290
2023-05-09 19:26:55 -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
3429f8e7c1 qcacld-3.0: Dont allow max ch width update for MLO connection
If STA connected with MLO AP, don't process ch_width update
with notify request.

Change-Id: Id2e0d6357feac13787abcafe8b9d69a0c64dbedb
CRs-Fixed: 3472173
2023-05-03 04:57:53 -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
Vijay Raj
72dfd6a38f qcacld-3.0: Add events to modify Beacon miss disconnection logging
Disconnection is logged even if keepalive indication is
sent to host after firmware sending final beacon miss
event.

Add two new roam failure reason code to indicate roam
failure and send final beacon miss.

ROAM_FAIL_REASON_NO_AP_FOUND_AND_FINAL_BMISS_SENT: Indicate
roam failure when no ap is found and final beacon miss
is sent.

ROAM_FAIL_REASON_NO_CAND_AP_FOUND_AND_FINAL_BMISS_SENT:
Indicate roam failure when no candidate ap is found and
final beacon miss is sent.

Change-Id: I6d7a6034f8be5388dd35dd3c05fecfd40a8d888d
CRs-Fixed: 3437060
2023-03-27 23:37:08 -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
Jianmin Zhu
1eb2511a22 qcacld-3.0: Disallow MCC for STA_POLICY_UNBIASED
Even primary interface is configured, if dual STA policy is
STA_POLICY_UNBIASED, MCC is disallowed for both roaming and connect.

Change-Id: I6e26fdcdc930eb116771abfe310811c6534be09f
CRs-Fixed: 3396425
2023-02-08 20:00:08 -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