Commit Graph

723 Commits

Author SHA1 Message Date
Asutosh Mohapatra
a901bcc17e qcacld-3.0: Send additional interface combinations to fw
As part of set feature set command, update STA_P2P,
STA_SAP, STA_NAN, STA_TDLS, STA_SAP_P2P, STA_SAP_NAN,
STA_P2P_NAN, STA_P2P_TDLS, STA_SAP_TDLS, STA_NAN_TDLS,
STA_SAP_P2P_TDLS, STA_SAP_NAN_TDLS, STA_P2P_P2P_TDLS,
STA_P2P_NAN_TDLS iface combinations to fw.

Also use WLAN_FEATURE_NO_P2P_CONCURRENCY sta dual p2p
support combination.

Change-Id: I315c219f79995dedb0c2856d326838351d8a3d5e
CRs-Fixed: 3674696
2023-12-14 09:10:17 -08:00
Chunquan Luo
357d04615d qcacld-3.0: Add set bandwidth MLO 3links support
Driver cache all links channel bandwidth config from user space,
when link switch happened, and connect complete, send bandwidth
of the link id to fw.

CRs-Fixed: 3625801
Change-Id: I7d4a13075b62c9c8928d2c33bd309e9c5b085171
2023-12-06 10:54:45 -08:00
Srinivas Dasari
591177a99b qcacld-3.0: Modify the min value of sae_auth_failure_timeout
Currently, the expected range of sae_auth_failure_timeout
is 500-1000ms. DUT sta retries SAE authentication frame if it
hasn't received response within the configured time. But there
can be APs where there might be a timeout at AP and AP proceeds
with next frame(SAE confirm response) if the previous frame
is not acked by STA or SAE confirm request is not received
within this time.
Custom platforms may want to address this by retrying more
aggressively, e.g. retry within 100ms.

Add provision for the same by making min value as 100 ms.

Change-Id: I09fa57808edc6c00bda2dbe5d988558c7ef48e17
CRs-Fixed: 3662150
2023-12-01 02:34:39 -08:00
Aasir Rasheed
3ce28bb3b3 qcacld-3.0: Add config to enable/disable 5GL+5GH MLSR
By default 5GL+5GH MLSR is allowed if mlo_5gl_5gh_mlsr
is set to 1.

Change-Id: Ie881160900babc900e42007b9eb6bc2edb09cdec
CRs-Fixed: 3662634
2023-11-24 02:35:46 -08:00
Abhinav Kumar
f8a690b38f qcacld-3.0: Add ini support to control update cw
Add support for INI update_cw_allowed to enable or
disable update channel width via vendor command
QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH

Change-Id: I1f4ab2c7ca8dacb93442803336d59a4a5ffb1b47
CRs-Fixed: 3659655
2023-11-14 05:28:34 -08:00
Arun Kumar Khandavalli
cc3e7e51d8 qcacld-3.0: update the return status properly for wlan_mlme_get_sta_ch_width
Return status of the wlan_mlme_get_sta_ch_width is always
returning error resulting in caller not updating with
the phymode correct the vdev object.

When the kernel is querying phymode via cfg80211_get_channel driver is
returning invalid bandwidth post roam resulting in kernel warning.

Fix this by returning proper status in wlan_mlme_get_sta_ch_width

CRs-Fixed: 3641158
Change-Id: I013f75a3e06768127ffc72776eef6885633e927a
2023-11-08 01:01:50 -08:00
Vinod Kumar Myadam
0d8eee9b75 qcacld-3.0: change enable_responder_11az_support to bitmap
Currently the ini "enable_responder_11az_support" is a boolean
value and applicable for enabling all the RSTA operations- 11az
TB and NTB ranging. Change the usage of existing ini
"enable_responder_11az_support" into a bitmap as below:
BIT 0 - 11az NTB
BIT 1 - 11az TB

Change-Id: I744e614eae4d89d9ff5d0e86398c0c94c8160d77
CRs-Fixed: 3651115
2023-11-08 01:01:43 -08:00
Srikanth Marepalli
b1e3fd5c90 qcacld-3.0: [11ABG] Add dot11mode changes to support 11abg
Add new dot11mode in MLME and update the utility functions to
derive the dot11mode based on the INI config and AP dot11 mode.

Change-Id: Ic53ab0cdd94dce75d6928270bc8bf4f8539ac96f
CRs-Fixed: 3653767
2023-11-03 10:04:32 -07:00
Chunquan Luo
28e8075589 qcacld-3.0: Update bss rate flag for correct link
Use default link info is incorrect for mlo link.
Fetch link info by link id and update the bss rate flag.

Change-Id: I72a6747308b9873e18ea2bcb1b95cb915e668970
CRs-Fixed: 3643925
2023-11-02 14:16:41 -07:00
Jianmin Zhu
a68e8b7311 qcacld-3.0: Add cfg to disable puncture in US LPI mode
Add cfg to disable puncture in US LPI mode per FCC requirement,
set to false by default.

Change-Id: Id01f952b2a74ad64216a66d2d292166211440c4b
CRs-Fixed: 3649640
2023-11-02 14:16:29 -07:00
Jianmin Zhu
bd2a4c5c4c qcacld-3.0: Update puncture bitmap along with chan width
When update channel width of current vdev, need update puncture bitmap
to avoid mismatch.

Change-Id: I0487b251524421611cee2ec33f036a037efa42ea
CRs-Fixed: 3646904
2023-10-26 16:08:29 -07:00
Srinivas Dasari
3e9ba88776 qcacld-3.0: Limit SAP restart bw to current operating bw
SAP restart happens when a concurrent STA comes up in the
same band. Currently, the new bw is calculated based on channel
supported max bw. If SAP moves from one 6 GHz channel to another
6 GHz channel, the new bw would be calculated as 320 MHz even if
the current SAP operating bw is 160 MHz. But SAP bw should be
limited to current operating bw as it might have got downgraded
to 160 MHz as part of sap_bw_update algo.
Considered current operating bw when SAP restart happens as part
of sap_bw_update.

Change-Id: If310b0ad9f914b438ae3c1968ca8f1ee26d57589
CRs-Fixed: 3637263
2023-10-25 20:10:41 -07:00
Jianmin Zhu
213929b71e qcacld-3.0: Disable puncture in US LPI mode
Disable puncture in US LPI mode per FCC request.
If bad FCC AP is detected, send WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with
reduced bw after setkey is done.

Also add the same bad FCC AP detection logic in HDD where bw increase req
from SS framework is handled.

When handle beacon update, also FCC AP detection logic to avoid wrong
channel switch.
If the AP removes or reduces puncturing pattern in new beacon, send
WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with increased bw.

For roaming case, after roaming, host will receive new beacon with new
bpcc, same as beacon update, use the same bad FCC AP detection logic and
send WMI_VDEV_PARAM_CHWIDTH_WITH_NOTIFY with updted bw right away or after
setkey is done (in case of hybrid roaming like OWE).

Change-Id: I6e85de879575d5c0a1960527f9018b4b33bf18d6
CRs-Fixed: 3631634
2023-10-25 16:34:07 -07:00
Ashish Kumar Dhanotiya
252f127360 qcacld-3.0: Update logging format for BS state machine
With this change add a logging format for bearer switch
state machine.

Change-Id: I4f75b402c163eb6872d1c478845f3e76842d5cae
CRs-Fixed: 3642471
2023-10-20 07:59:23 -07:00
Srikanth Marepalli
f1d00fad4c qcacld-3.0: Add vendor attribute for high RSSI roam trigger threshold
Currently the roam scan high RSSI delta is configured via INI.
Define an attribute to allow user configure high RSSI roam
trigger threshold. STA is expected to trigger roam if the current
connected AP's RSSI gets above this high RSSI threshold. STA's
roam attempt on high RSSI threshold aims to find candidates from
other better Wi-Fi bands.
This attribute value is given priority over the INI.
Use a new service bit WMI_SERVICE_5GHZ_HI_RSSI_ROAM_SUPPORT to
enable high RSSI roam trigger in 5 GHz as well.

Change-Id: Ide48ad2261b603de36bd1b31114b91c3a9d6606f
CRs-Fixed: 3586170
2023-10-18 00:51:55 -07:00
Vinod Kumar Pirla
9e3ba566d9 qcacld-3.0: Restore original EHT chan BW on disconnect
Userspace can dynamically modify association BW and as part of
disconnect need to reset the BW to original value, if not the
next connection will might happen with downgraded BW.

Currently the restore is happening on deflink VDEV instead of
actual disconnecting VDEV.

Fix this by changing function argument to accept link info
pointer in HDD adapter of that corresponding VDEV.

Additionally, the driver capability for 6 GHz-320 MHz is not
properly restored and further connections to 320 MHz are
happening on 160 MHz.

To fix the 160 MHz downgrade, use original EHT capabilities in
global MAC context instead of using modified EHT cap where
320 MHz support got reset on userspace dynamic BW update.

Change-Id: If2badb0a234f45d57dc186729bc529137d7a5131
CRs-Fixed: 3628940
2023-10-10 23:09:17 -07:00
Aditya Kodukula
f7ae703e68 qcacld-3.0: Fix kernel documentations
Fix kernel-doc errors and update the fields properly.

CRs-Fixed: 3632274
Change-Id: I92cfc92d56f5cceba2fa332a9986c310c88a0c3f
2023-10-09 16:30:02 -07:00
Gururaj Pandurangi
7b4d7c466d qcacld-3.0: Add ucfg wrapper API for MLD ID get/set APIs
Add ucfg wrapper API over the existing MLD ID get/set APIs
that will be invoked in HDD/OSIF.

Change-Id: I07d2e661c7e8129e54a0449f958749648c25e4ac
CRs-Fixed: 3621169
2023-10-07 03:04:35 -07:00
Vinod Kumar Myadam
5db1e4740c qcacld-3.0: Add support for INI twt_disable_info
Add support for INI twt_disable_info to disable FW initiated
information frame for TWT

Change-Id: I06fe9be364d9def0ccfffc196ae31dcc2ab9a500
CRs-Fixed: 3621241
2023-10-04 22:02:37 -07:00
Gururaj Pandurangi
3eb228c3b9 qcacld-3.0: Add support to configure T2LM support
Add vendor command support to configure T2LM
negotiation support.

Change-Id: I492e07b7ebaf38c8afe182ec9c53bb5fc062b906
CRs-Fixed: 3590779
2023-09-29 16:29:34 -07:00
Amruta Kulkarni
c654a74de0 qcacld-3.0: Check FW support for T2LM
If FW does not support T2LM update cfg
t2lm parameter to 0.

CRs-Fixed: 3605309
Change-Id: I1599c13d66a57a666fb66b9baa611342b28f1b77
2023-09-26 14:40:09 -07:00
Aasir Rasheed
c03f357db6 qcacld-3.0: Notify firmware on CSA rejection
The host driver now sends a notification to the
firmware when a CSA (Channel Switch Announcement)
is rejected due to no change in channel, bandwidth,
or puncture.

Change-Id: I5d8a424459898d15a7931baf7ca4c3de8308c64e
CRs-Fixed: 3595843
2023-09-26 05:25:31 -07:00
Paul Zhang
20c47d189c qcacld-3.0: Add AUX capability API's
Add AUX capability public API's.

CRs-Fixed: 3609779
Change-Id: I185cf26496410f60434b35bf890ee2594a254956
2023-09-25 01:29:26 -07:00
Guisen Yang
897bca02be qcacld-3.0: Change CFG_STA_BSS_MAX_IDLE_PERIOD to configurable
The item "bss_max_idle_period" is not an ini item and we can only
use it's default value 0. It's not convenient to set it a value
that user required. So set it to an ini item.

Change-Id: Ie514992448cde192ffd6f1402a4477fabbbae741
CRs-Fixed: 3591728
2023-09-21 22:16:28 -07:00
Vijay Raj
3f5473b0b8 qcacld-3.0: Modify support for connecting event logging
Connecting event logs are to be sent after candidate
selection and not immediately after receiving
connect request.

Modify the connecting event logs to be sent after
sta info event logs.

Change-Id: I83b654ba0ef3458368ba7dd6353c5ab67077ec39
CRs-Fixed: 3599703
2023-09-20 20:09:03 -07:00
Gururaj Pandurangi
73be1b7d8d qcacld-3.0: Add support to configure MLD ID in scan request
In the MLO-MBSSID test, STA can request information of
non-Tx BSS through Tx BSS by configuring non-Tx BSS MLD ID
within the ML probe request that is invoked as part of scan
request. Add support to configure MLD ID in scan start
params to FW.

Change-Id: Iec5a144e597a7f6b9b741f279e4424f975c5115c
CRs-Fixed: 3561040
2023-09-15 17:33:29 -07:00
Rahul Gusain
59b19dff23 qcacld-3.0: Code refractor for ML debug id
Currently, in some API such as
"wlan_cfg80211_tdls_add_peer_mlo", when driver gets vdev, it is
MLO vdev, so it uses WLAN_MLO_MGR_ID ID, but when it tries to put
the vdev, since disconnection happens and mlo flag is cleared,
so it uses WLAN_OSIF_TDLS_ID ID which is non-ML vdev.
This causes release of vdev reference from different id for which
it never takes reference and result in crash.

To fix this, use same debug id throughout function. For that,
generalize the get_ml_vdev API by passing the debug id as
argument to the function.

Change-Id: I903185ec9b64cc67cc2e0c595ba88b7b0ca8ded2
CRs-Fixed: 3603012
2023-09-13 14:19:19 -07:00
Abhinav Kumar
49c7a74dbf qcacld-3.0: Init channel load and statistics rrm caps
During rrm_initialize () set RRM cap for Channel Load
and statistics to enable by default. Same rrm capabilities
driver sends to AP in association request during connection.

Change-Id: I3a9d87b8bd8b28b84ccc3578fff2ad1c7ebd8a6e
CRs-Fixed: 3609838
2023-09-12 14:41:14 -07:00
Jianmin Zhu
bcad2864be qcacld-3.0: Active ini he_max_ampdu_len
Active ini he_max_ampdu_len and change default value from 0 to 3.
Use min(ini,  he_max_ampdu_len from F/W band/MAC cap) as final
he_config.
Mdm platform need set different value to pass throughput KPI.

Change-Id: Ib0580a0e68b72b6b7cd02d327ba643cfd1508080
CRs-Fixed: 3609154
2023-09-12 14:40:37 -07:00
Gururaj Pandurangi
faeed38706 qcacld-3.0: Reset BTM abridge flag for Cert cases
For BTM certification cases, FW is unable to roam to
testbed AP BSS due to scoring logic. Reset the BTM
abridge flag that is used to enable FW to select
candidates based on score.

Change-Id: I29b6e1b5dea969263eb263103c6d2c10d5047f20
CRs-Fixed: 3591574
2023-09-12 14:40:12 -07:00
Aravind Kishore Sukla
a05c70ac06 qcacld-3.0: Configure CFG_T2LM_NEGOTIATION_SUPPORT as INI
As per customer requirement, to enable or disable t2lm support
configure CFG_T2LM_NEGOTIATION_SUPPORT as INI.

Change-Id: I8eb4c78a04bbaa5ce0c155d04ddb793d31b092ee
CRs-Fixed: 3608649
2023-09-11 03:38:27 -07:00
Gururaj Pandurangi
f30be587ea qcacld-3.0: Offload BTM to FW even with RSO disable
For certain cert cases, roaming is disabled through
CAPI. Supplicant sends RSO disable to Host and the Host
disables BTM offload as well as part of roam disable.
But, for cases like load balancing, Firmware has the
logic to handle BTM requests with disassociation
imminent bit set to 1, by sending an event to Host to
trigger a T2LM request action frame rather than a BTM
response. Thus, set BTM offload bit even when roaming
is disabled to allow FW to handle BTM request frames
instead of supplicant.

Change-Id: Iaa0cbbce62dbb76518880ef2470d6d0819c501db
CRs-Fixed: 3590733
2023-09-09 03:35:53 -07:00
Sheenam Monga
d453172923 qcacld-3.0: Don't return bool value instead of uint
Currently, some mlo APIs returns false if mlme_obj is
not found but return type expected is uint8_t.
So, return 0 instead of false in case of error.

Change-Id: I52d0fd82520bb046a7a80381d53f97c95b32d0d1
CRs-Fixed: 3608559
2023-09-08 04:10:17 -07:00
Liangwei Dong
e65c3b8bea qcacld-3.0: Allow dynamic channel width update for 2.4 GHz STA
There is a requirement to downgrade/upgrade STA band width on 2.4 GHz
without reconnect. Change driver to allow such request from vendor
command by QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_WIDTH attribute.

Change-Id: I6642963d90eafc388b6c20c0ce393e6fec58b374
CRs-Fixed: 3594338
2023-09-08 04:09:06 -07:00
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
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
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
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