Commit Graph

623 Commits

Author SHA1 Message Date
Vijay Patil
52e5d326f6 qcacld-3.0: Add support to handle PEER_OPER_MODE_CHANGE event
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.

Change-Id: I50fecf670b47c56e3f33b8519fde1d5eaec7523f
CRs-Fixed: 3604716
2023-09-05 15:13:55 -07:00
Srinivas Dasari
db3618ad48 qcacld-3.0: Include BW_IND_ELEM IE in beacon and ECSA frames
Include BW_IND_ELEM IE in beacon and ECSA frames while advertising
CSA. This is needed when upgrading the bandwidth to 320 MHz.
Send the ECSA IE with switch count as 1. Use a timer to reset it
after sending the beacon out.

Change-Id: I6c38ef1ce4629b7a67bcbf803c7dbcced05ade33
CRs-Fixed: 3604422
2023-09-05 08:25:59 -07:00
Srinivas Dasari
26a2f2e4ce qcacld-3.0: cache SAP current oper bw in vdev mlme priv obj
SAP operating bandwidth may get updated due to concurrencies.
This might be temporary and SAP moves back to its original
bandwidth once concurrency is gone. So, add set and get APIs
to maintain the SAP current operating bandwidth.
These can be used during/after bandwidth update operations.

Change-Id: I386ad20bcbd0902672a890bde510ecc50e58512b
CRs-Fixed: 3600223
2023-09-03 22:32:54 -07:00
Abhinav Kumar
663120a684 qcacld-3.0: Send proper control mode value to upper layer
1. Upper layer sends QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE
vendor command to configure control mode in host/fw.
2. Host receives GET_ML_LINK_STATE driver command to return
control mode (configured at step 1) to upper layer.

Host should reply as a response of GET_ML_LINK_STATE with same
value of control mode configured at step 1 to upper layer.

Change-Id: I6ae82c2a1c0e4ff13cea678bf27916a3cda8ad81
CRs-Fixed: 3595730
2023-08-31 11:00:21 -07:00
Prasanna JS
8f12b73f1d qcacld-3.0: Update beacon Tx rate configuration implementation
Update beacon Tx rate configuration implementation
for lithium onwards targets

Change-Id: I864b7eedb36b8f4a4804baf42f2b4c762d6868dc
CRs-Fixed: 3593181
2023-08-30 16:44:02 -07:00
Prasanna JS
0ed9d7c8cc qcacld-3.0: Move assemble rate code functionality to mlme
Move assemble rate code functionality to mlme

Change-Id: I8acb04f2e09be742f95d38a4688e07c1d011f4e8
CRs-Fixed: 3593174
2023-08-30 16:43:56 -07:00
Gururaj Pandurangi
ad0d63a599 qcacld-3.0: Change TPE IE parsing logic for Client mode
Currently, if the AP advertises both Local and Regulatory
TPE IEs in the beacons, STA uses an INI to choose one over
the other. Vendor ask is to change this logic and allow STA
to use the minimum of the two TPE power limits. Also,
deprecate the INI that sets the preference between local
and regulatory TPE IEs.

CRs-Fixed: 3574510
Change-Id: Ibf19020d59621efa72cf290ef34c825fdb50e3e7
2023-08-30 01:37:29 -07:00
Chunquan Luo
5208f9f8e4 qcacld-3.0: Set max bandwidth with link id
Support wpa_cli driver SET_MAX_BW with two params:
[bw_index][link_id].

Change-Id: Id2a872152e308e94389cd1068013d7661b37659b
CRs-Fixed: 3522561
2023-08-28 21:12:08 -07:00
Vinod Kumar Myadam
bca37ddeea qcacld-3.0: Add support to get num tx/rx chains
Add support to get num tx and rx chains.

Change-Id: Iae8e3d15679e5e9ca139c59e6880a5d733ee17ef
CRs-Fixed: 3596086
2023-08-28 21:11:50 -07:00
Ashish Kumar Dhanotiya
66f468f156 qcacld-3.0: Disable FILS discovery for LL_LT_SAP
Based on new requirement, disable FILS discovery for
LL_LT_SAP.

Change-Id: If136bc272ba29a39f9748b01c53e35cac79f79b1
CRs-Fixed: 3585674
2023-08-22 11:06:47 -07:00
Jyoti Kumari
4f6b354391 qcacld-3.0: Move tSapChSelSpectInfo structure to mlme component
Move tSapChSelSpectInfo structure from sap component to mlme
component so that it can be use by LL_SAP as well

Change-Id: Ic3c2919054326aca3530071df27d425bb78a699a
CRs-Fixed: 3561182
2023-08-16 13:35:37 -07:00
Amruta Kulkarni
8b495ff353 qcacld-3.0: Update mlo_support_link_num from cfg to ini
Change made to mlo_support_link_num from cfg to ini parameter.

Change-Id: I02251725fca7d0d550e87d806dda82f542e18879
CRs-Fixed: 3588980
2023-08-16 13:35:20 -07:00
Pragaspathi Thilagaraj
8a8f33379e qcacld-3.0: Update mlo_support_link_num to 3
Update the mlo_support_link_num config to 3. This will enable
support to connect/roam to 3 Link AP with 3 links advertised.

Change-Id: I6241f7024271208c8d1584549edb91cc37fadcb8
CRs-Fixed: 3582858
2023-08-11 14:58:49 -07:00
Arun Kumar Khandavalli
ad3cf51017 qcacld-3.0: Add support to use MLD addr for one link
If INI is enabled don't derive first link's MAC address
and directly use MLD address in that place and derive
next link addresses.

Change-Id: I3c2b9f64df3f75799adf8718ee83d157f6dd9097
CRs-Fixed: 3584062
2023-08-10 22:11:09 -07:00
Bing Sun
fb4305e446 qcacld-3.0: add roam trigger bitmap sysfs functionality
Add support to configure roam_trigger_bitmap.

Change-Id: I1a7329910e5276469fa7cf0711d412cc8850d98b
CRs-Fixed: 3563225
2023-08-06 22:46:47 -07:00
Bing Sun
25f5c0058e qcacld-3.0: add wds mode sysfs functionality
Add support to configure wds_mode.

Change-Id: I19b7c797083a75d2aebf53d574484def5a4ec9e1
CRs-Fixed: 3563193
2023-08-06 22:46:42 -07:00
abhinav kumar
8d585706ca qcacld-3.0: Update bss rate flags as per BW update
Supplicant sends SET_MAX_BANDWIDTH driver command to update
connected channel width dynamically.

Host should update connected bss rate flags so that host
can send proper cp stats as per updated channel bandwidth.

Change-Id: I676635b108f91f4fd8471fbe66352aa471dd9a9f
CRs-Fixed: 3519930
2023-08-03 19:39:28 -07:00
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
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
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