Commit Graph

877 Commits

Author SHA1 Message Date
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
62bd1008e4 qcacld-3.0: Remove duplicate API wlan_get_opmode_vdev_id
There are two APIs wlan_get_opmode_vdev_id and
wlan_get_opmode_from_vdev_id present in the host driver for the
same task.
With this change, remove the duplicate API wlan_get_opmode_vdev_id
from the host driver code.

Change-Id: I7ff45610ff18da9c002e22c5be06f1414d3835bc
CRs-Fixed: 3593560
2023-08-28 21:11:44 -07:00
nakul kachhwaha
1ac61ce509 qcacld-3.0: Enable Flex. TWT based on TWT Req/Resp Capability
Enable Flexible TWT when TWT feature is enable and either of
the TWT Requestor or Responder capability is enable.

Change-Id: I2f2b1c311d9aba6e09d309e83f37098175b80767
CRs-Fixed: 3422493
2023-08-25 06:04:29 -07:00
Surya Prakash Sivaraj
f3969f6436 qcacld-3.0: Prevent runtime suspend during disconnect
In MLO cases, system enters into runtime suspend in
between the disconnect processing of two links. This
leads to delay/timeouts in MLO disconnect processing.

To fix this, acquire runtime lock between disconnect
start and disconnect complete if_manager events.

Keep the runtime lock at vdev level to handle async
disconnects triggered by the driver and link-only
disconnects during roaming.

CRs-Fixed: 3588246
Change-Id: Ida48127d8597aecd8b6f5347c70ba5e9a2045d11
2023-08-24 01:26:07 -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
Pragaspathi Thilagaraj
62e8fc78a0 qcacld-3.0: Update version for some supported feature set
Update version for vendor request 1 and vendor request 2 as
below:
vendor_req_1_version: WMI_HOST_VENDOR1_REQ1_VERSION_4_00
vendor_req_2_version: WMI_HOST_VENDOR1_REQ2_VERSION_3_50

Change-Id: Ieaa25a9c2b98f4c73cb89462463dd88ba5d11b53
CRs-Fixed: 3590251
2023-08-18 18:09:34 -07:00
Abhinav Kumar
be6f4c4190 qcacld-3.0: Add support for Channel load request frame
As per new requirement, to improve Wi-Fi Roaming behavior
DUT should support channel load request received as part
of rrm measurement.

The Channel Load request/report pair returns the channel
utilization measurement to AP as observed by the measuring
STA.

Change-Id: Idf1b5581222e1fbed3426d94edd8768234ff6a43
CRs-Fixed: 3580180
2023-08-17 01:39:00 -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
Liangwei Dong
20b3165adb qcacld-3.0: Add link removal flag in link info
At present, the link removal flag is in vdev object, but vdev may
repurpose to other link, the link removal flag has to be in link
info struct.
Add link removal flag in link info data struct and remove
it from vdev struct.

Change-Id: I6116e89f2bb065979f4e405ef0fac386abebcf17
CRs-Fixed: 3572836
2023-08-04 06:53:18 -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
Vijay Raj
936a1452d8 qcacld-3.0: Add individual TWT support for 11be
During VDEV creation, vdev parameter "DISABLE_2G_TWT"
is populated in accordance to the value of ini
"enable_twt_24ghz" in order to indicate FW
to support TWT for 2.4GHz band.

Change-Id: I610bbaad3c5d12a8303939488ed2d7486dda404f
CRs-Fixed: 3560288
2023-07-25 22:29:24 -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
Abhinav Kumar
c6cda92c56 qcacld-3.0: select pri20 frequency in a wideband scan list
As 320 MHz wideband scan is not supported host splits 320 MHz
bandwidth into two 160 MHz scans. Currently, none of these
two 160 MHz wideband scan requests carry the pri20 sub-band
frequency of the connected 6 GHz ML link.
Due to this, DUT is not able to receive beacons sent by 6 GHz
AP (AP sends beacons only on primary 20 MHz freq).

The fix is to fill the pri20 sub-band freq of the connected
6 GHz ML link as one frequency in the wide band scan list
request.

CRs-Fixed: 3552131
Change-Id: I3da18d5801fb7af84b6e20b8134af2d738cc57e1
2023-07-14 15:41:18 -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
Prasanna JS
44ddeedbd9 qcacld-3.0: Move SR changes from WMA to Target_if
Move SR changes from WMA to Target_if and remove
WMA api's which was previously using to update
SR threshold.

Change-Id: I219cd56195471df561a5789fb235e375a14e756c
CRs-Fixed: 3374674
2023-07-03 12:53:24 -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
Vijay Raj
03827cfd24 qcacld-3.0: Remove dereferencing freed pointer in channel stat request
In api mlme_connected_chan_stats_request(), dereferencing
of freed pointer is observed by static analysis tool.

Remove dereferencing of the freed pointer in the api
mlme_connected_chan_stats_request().

Change-Id: Ic09b68395a9c3c67aab4a704a915b0d92a00e16d
CRs-Fixed: 3530020
2023-06-22 16:03:09 -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
Liangwei Dong
e563cf7379 qcacld-3.0: Add northbound link reconfig notification
When link removal TBTT expires, indicate the link removal
info to upper layer by vendor event.

Change-Id: Iccc13898f76648bfa2167669c966538d95df5fe3
CRs-Fixed: 3482159
2023-06-02 16:47:51 -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
abhinav kumar
f231c54eb9 qcacld-3.0: Process ML Channel Measurement request
Host parse newely added vendor command
QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS and trigger
scan to get connected channel stats from FW in case of MLO
connection.

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

Change-Id: Iff09b6dfe88b5f075a4c81d8f0bfff5bbb0fedaa
CRs-Fixed: 3491058
2023-05-14 05:06:52 -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