Commit Graph

569 Commits

Author SHA1 Message Date
Aditya Kodukula
1472d9ad6d qcacld-3.0: Disable 11be when not supported by target
Disable 11be when not supported by target

Change-Id: Iecf9ab3eab5a9e69b01fb03b30b028b57019b10d
CRs-Fixed: 3291961
2022-09-22 06:09:24 -07:00
Pragaspathi Thilagaraj
95cd4fde59 qcacld-3.0: Add new ini for R-STA secure LTF support
Add new ini "enable_responder_secure_ltf_support" for R-STA
secure LTF support. Enable this ini for R-STA to advertise
secure LTF support in extended capabilities & RSNXE.

Change-Id: I474b06c52c47b5a54dc827031bf9ff7c0d2f7d05
CRs-Fixed: 3283083
2022-09-14 09:36:01 -07:00
abhinav kumar
b91c689b0a qcacld-3.0: Send roaming feature indication to FW
To enable the below 2 features in FW:
1. IDLE roam scan
2. Roam triggered due to high channel utilization
   in the currently connected channel

Currently, if "roam_triggers" bitmap is set for above
features, Host indicates FW that "IDLE roam scan"
and "roam trigger due to BSS load" features are
enabled irrespective of corresponding INI
'enable_idle_roam' and 'enable_bss_load_roam_trigger'
respectively.

Consider the value of corresponding INI also while
sending enable indication to FW.

Change-Id: I0d59e0a32df4aa95850f12a99bae439fea40acf5
CRs-Fixed: 3281952
2022-09-10 09:19:18 -07:00
abhinav kumar
298dabfecf qcacld-3.0: Update bound range for RoamRSSI_Trigger
Correct Min, Max and Default value for INI
RoamRSSI_Trigger to avoid Out of range error while
cfg ini item parsing in host.

RoamRSSI_Trigger_min 50
RoamRSSI_Trigger_max 100
RoamRSSI_Trigger_default 75

Change-Id: Ifd4f049987c797ca43a865cefbc2d2517560f105
CRs-Fixed: 3283130
2022-09-09 22:25:59 -07:00
Aravind Kishore Sukla
5d328ac791 qcacld-3.0: Disable legacy rates in 6 GHz frequency band
Disable 11a support on 6 GHz band and change default rate of 6 GHz
frequency band by using WMI_PDEV_PARAM_DEFAULT_6GHZ_RATE.

Change-Id: I2db2dd54c03cf71e1b697796fa3dc58d2646a8b5
CRs-Fixed: 3251997
2022-09-08 02:56:40 -07:00
Jeff Johnson
afc7383127 qcacld-3.0: Rename wlan_mlme_set_sta_mlo_simulataneous_links()
Rename wlan_mlme_set_sta_mlo_simulataneous_links() to correct
misspelling: simulataneous ==> simultaneous.

Change-Id: I5f483446a63221be7c689fb35bd5b5c0548f0473
CRs-Fixed: 3280095
2022-08-31 19:22:20 -07:00
Nagalakshmi
6340c5c044 qcacld-3.0: Give valid range of value for aliasing INI
There are two different name with different range of value for
aliasing INI's. So, it should pick the valid range of value wrt INI
name.

Change-Id: I36b578749567998980b300e5a8daf1acb201cddd
CRs-Fixed: 3269376
2022-08-31 16:04:00 -07:00
Nagalakshmi
87e7625ee9 qcacld-3.0: Give valid range of value for aliasing INI
There are two different name with different range of value for
aliasing INI's. So, it should pick the valid range of value wrt INI
name.

Change-Id: I89a275500f1e1ad42f2cae534e9f67e1b9e3a4eb
CRs-Fixed: 3268673
2022-08-31 12:50:42 -07:00
Jeff Johnson
c5b6befd72 qcacld-3.0: Fix misspellings of "capability" and "capabilities"
Fix misspellings of "capability" and "capabilities":
capabiities ==> capabilities
capabilites ==> capabilities
capabilties ==> capabilities
capabilty ==> capability
capablities ==> capabilities
capablity ==> capability

Change-Id: Ie4f14088fb86b63e3ee985c004f82d73d2c73963
CRs-Fixed: 3274606
2022-08-29 19:09:04 -07:00
Kiran Kumar Lokere
c38d5d534c qcacld-3.0: Config support for assoc link band and no.of links
Config support for assoc link band and max number of links.

Change-Id: I6b9999216691a191e3f02d3756166203055c6c96
CRs-Fixed: 3271628
2022-08-27 22:57:16 -07:00
Srinivas Dasari
8f06292a0b qcacld-3.0: Avoid CH_WIDTH_320MHZ dependency on 11BE define
CH_WIDTH_320MHZ definition is in 11BE define currently and it's
causing duplicate code in 11BE supported/unsupported cases.
Definition need not be in 11BE define as it doesn't cause any
impact on memory.

Change-Id: I9fa391474f513755000368cc2e41e004446353d0
CRs-Fixed: 3246578
2022-08-26 09:10:01 -07:00
Vinod Kumar Myadam
11b175dad0 qcacld-3.0: Fix for scan passive dwell time
Prensently for initial scan and roam passive scan dwell time,
the same ini CFG_PASSIVE_MAX_CHANNEL_TIME is used. This will
cause initial scan to have the roam passive scan value.

Decouple passive scan and roam passive scan ini parameter by
adding new ini param for roaming

Change-Id: I4b37c8faa26c971f173e8c8179e505ea4c69c27e
CRs-Fixed: 3268789
2022-08-23 15:16:53 -07:00
Kiran Kumar Lokere
b4a3d09a5e qcacld-3.0: Add support for testbed default EHT caps
Add support to set the EHT capabilities for testbed
default settings.

Change-Id: Ica67836e464d42adc43971456801103d088a0891
CRs-Fixed: 3256051
2022-08-23 05:39:54 -07:00
Abhinav Kumar
86b60fe23a qcacld-3.0: Update Min and Max range for neighbor lookup INI
Update the Min and Max value for gNeighborLookupThreshold
/RoamRSSI_Trigger INI as per customer requirement.

Change-Id: I5af4552cd805b57861121a32704f4fe1e98a7002
CRs-Fixed: 3245135
2022-08-18 18:05:25 -07:00
Jyoti Kumari
d0c89ad942 qcacld-3.0: Give valid range of value for aliasing INI
There are two different name with different range of value for
aliasing INI's. So, it should pick the valid range of value wrt INI
name.

Change-Id: Ia0ea4ebc6b1f96b38243c4e0693e47be99868953
CRs-Fixed: 3258760
2022-08-17 15:35:06 -07:00
Gururaj Pandurangi
3814ee407b qcacld-3.0: Populate ML assoc req with EMLSR padding delay
Add support to populate MLO assoc request with EMLSR
subfields like EMLSR padding delay, transition delay that
are extracted from FW during ext service ready event.

Change-Id: Id5def8da6bef92ff6bf2101a7b3e0d8fb0cf3050
CRs-Fixed: 3262939
2022-08-15 00:15:11 -07:00
Ashish Kumar Dhanotiya
2490a83a25 qcacld-3.0: Add support to get feature set info
Based on the new requirement, add support to get requested
feature set info from different feature components.

Change-Id: I1bfc097c8ae8c4ab678d4dc07b7932cf3272d851
CRs-Fixed: 3262868
2022-08-12 18:55:15 -07:00
Jianmin Zhu
5a9556bf4b qcacld-3.0: Update linkspeed state to F/W for roaming protocol part
To avoid unmeaningful roaming, when low RSSI trigger,
only roam when rx linkspeed is also bad.
Steps:
1. F/W indicates feature supported by:
	wmi_service_linkspeed_roam_trigger_support
2. App sets vdev rx link speed threshold by vendor cmd.
3. Bus_bw_work gets rx link speed from data path periodically.
4. If found rx link speed change from good to poor, or poor to good, send
	to F/W.
5. F/W low rssi roaming is triggered only when both RSSI and link speed are
	poor.

Change-Id: I56829e42b26e407dd8e989a870aee2b3ea406232
CRs-Fixed: 3261996
2022-08-12 08:24:53 -07:00
Wu Gao
fa00b99b19 qcacld-3.0: Align command "setMaxAssoc" to INI "cfg_assoc_sta_limit"
Align command "setMaxAssoc" to INI "cfg_assoc_sta_limit" since they are
for same configure of host side.

Change-Id: Iccf60f261beef7fb7cc776ee691992e06bc7fa76
CRs-Fixed: 3241183
2022-08-01 21:42:48 -07:00
Srinivas Dasari
780d285267 qcacld-3.0: Enable the ini param enable_pending_list_req by default
Firmware aborts the ongoing scan upon receiving new scan
channel list (through WMI_SCAN_CHAN_LIST_CMDID). Channel list
might get updated from userspace through commands like
country code change, power level change(SET_FCC_CHANNEL),...
It affects the features that are dependent on that scan,
e.g. ongoing connection, p2p find, etc.. Few frames might
be stuck in firmware as the scan is canceled.
It's recommended to defer the scan channel list update till
the current scan is done. This is already supported and
guarded through the ini param enable_pending_list_req
but disabled by default.

Enable the ini param to make sure above scenarios are not
affected due to channel list update.

Change-Id: I4176bb6a03657cf32f0c099b72254d61207ea6ca
CRs-Fixed: 3250137
2022-07-24 02:52:30 -07:00
Jianmin Zhu
897377cab3 qcacld-3.0: Add assoc link bit in mlo_support_link_band
Add assoc link bit in mlo_support_link_band to indicate supported band of
assoc link.
bit4: 2 GHz
bit5: 5 GHz
bit6: 6 GHz

Change-Id: I8fa156f43656ba91b8622ce12034ddad0bcf28a2
CRs-Fixed: 3250252
2022-07-23 19:14:34 -07:00
Nirav Shah
05edbb507f qcacld-3.0: Correct description of ratemask_set ini
Correct description of ratemask_set ini for VHT mode
to avoid wrong configuration.

Change-Id: I91b887d8268f8faa0d0c32f90da032d00eaa14f2
CRs-Fixed: 3198950
2022-07-21 11:01:54 -07:00
Srinivas Dasari
db79080a21 qcacld-3.0: Add support to update ch_width of peer to DP
When the STA connects to a peer, max supported ch_width is
calculated and configured to firmware. This is calculated from
self and peer capability in case of STA/SAP. Cache this in
peer object. Currently, data path module isn't aware of the final
ch_width configured.
Fetch the phymode and covert it to the DP expected ch_width
format. Update the ch_width to DP.
phymode of NDI peers is not maintained in host. So, get the NDI
self phymode and update to DP.

Change-Id: I25993053ae1f129c8fc9a352a05c788451060b2d
CRs-Fixed: 3227453
2022-06-28 15:37:19 -07:00
abhinav kumar
b2c27b3103 qcacld-3.0: Handle vendor control command and event
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID: Add support
for a new roam command to get vendor control parameters
from FW. Host needs to send proper param ID in command
(from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID)
to get corresponding INI value from FW.

WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID:
Add support for a new roam event to get param value
from FW. FW sends this event upon receiving
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID command.

Change-Id: I03679bcf359a0f425aab7b9ea1c3cb6d84fbb0ca
CRs-Fixed: 3225160
2022-06-25 01:08:39 -07:00
David Oladunjoye
bf4bd0e116 qcacld-3.0: mlme: Replace fallthrough comment with attribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: I498703190e452eb4d263ee44ff1745622577eda1
CRs-Fixed: 3217410
2022-06-24 09:26:06 -07:00
abhinav kumar
7e9e394af6 qcacld-3.0: Add a new INI RoamCU_6GRSSIRange
Add support to parse a new INI named
"bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange"
and send its value to FW via WMI_ROAM_BSS_LOAD_CONFIG_CMDID.

Min, Max and default value of this INI:
Min: -120
Max: 0
Default: -70

Change-Id: I9aa99d887553de4022fc0a31dc0644601cd340d6
CRs-Fixed: 3225548
2022-06-24 07:45:49 -07:00
Aditya Kodukula
cdd4422a90 qcacld-3.0: Change default value of gSoftApMaxPeers
In the current driver implementation, the default ini value of
gSoftApMaxPeers is set to 32, but for mobile devices, FW can
only support 10 SAP peers at max. Hence, change the default
value of gSoftApMaxPeers to 10.

Change-Id: I8c5a2a8422f02bb464a11d823f8528ebb88bb34c
CRs-Fixed: 3227078
2022-06-24 03:50:35 -07:00
Deeksha Gupta
1d58140b54 qcacld-3.0: Avoid tacking CM lock after holding sme global lock
When STA receives a connect req (C1) and it requires hw mode
change. Now the hw mode change resp will take the SME global
lock and call connection manager API, which will try to
acquire CM lock.

But if before that one more connect req (C2) is received in
another thread which has acquired CM lock before C1 can
acquire it, and this connect req C2 will also flush the C1
from CM queue. Now if C2 also require hw mode change, which
also require to acquire SME global lock.

So both connect will wait for each other to complete, leading
to deadlock.

To fix this, from hw mode change response, break the context
(by posting to scheduler thread) so that sme global lock is
released and C2 is processed.

As C1 is already flushed by C2, on scheduler thread execution
once it get CM lock it will be dropped silently, and C2 will
proceed with connect.

Change-Id: I14efb0f21442edcae90a4abea20cb0b9e06a0758
CRs-Fixed: 3223786
2022-06-23 16:21:42 -07:00
Divyajyothi Goparaju
8515cfbc5a qcacld-3.0: Add bmiss timeout vdev set params
Currently host sends first, final bmiss count to fw

Add support for bmiss timeout(in seconds)
during wakeup as well as sleep state to fw.

Change-Id: Id748fabdff94f5fa3038bcea1b1cac733ac2dbe1
CRs-Fixed: 3224106
2022-06-23 12:57:59 -07:00
abhinav kumar
4a19256692 qcacld-3.0: Add vendor handoff service bit caps support
Add vendor handoff service bit capability support
WLAN_SOC_VENDOR_HANDOFF_CONTROL to check whether the FW
supports vendor handoff feature or not.

Change-Id: Ifdf541761716df9ca5b764c05714a8b501642354
CRs-Fixed: 3224573
2022-06-23 08:50:44 -07:00
Jyoti Kumari
9ba22e2bda qcacld-3.0: Add support for new ini param RoamScan_InactiveTimer
Add support for new ini param RoamScan_InactiveTimer. This param
is similar to the existing roam_scan_period_after_inactivity but
unit change

Change-Id: I0e803decaba30fa3f2dfcd95dc62dc71aa1cb3cd
CRs-Fixed: 3016893
2022-06-22 02:50:25 -07:00
Gururaj Pandurangi
55f3afd6bf qcacld-3.0: Add cfg item to enable eMLSR mode
Add cfg item to enable/disable eMLSR mode for ML STA
under 802.11be op mode. The cfg value 0 corresponds
to default MLMR mode, 1 corresponds to eMLSR mode.

Change-Id: Ib02516aac8ac44aee6b40a572a9f7469b10d0ac2
CRs-Fixed: 3184745
2022-06-21 22:55:29 -07:00
Jyoti Kumari
2df32ba66e qcacld-3.0: Add support for new ini param RoamCU_MonitorTime
Add support for new ini param RoamCU_MonitorTime. This param
is similar to the existing bss_load_sample_time but unit
change

Change-Id: Iae05a9568aa29a5f6a9cfc771e66184e51963ab6
CRs-Fixed: 3015967
2022-06-21 19:11:43 -07:00
Srinivas Dasari
7c1083a4ba qcacld-3.0: Enable roaming on both STAs in primary iface usecase
set_primary_vdev usecase in STA+STA concurrency is to use that
interface(e.g. wlan0) over the other interface(i.e. wlan1) for
data transfer.
Non-primary vdev use case is to check the quality of that link
and decide if data can be switched to it and make it primary.
It may get disabled if it's not going to become primary STA after
measuring the link quality for sometime or with few APs.

Enable roaming on non-primary vdev also to find better AP.

Change-Id: I3205f1ee1b7da4aa813955308730949ccc70941f
CRs-Fixed: 3219633
2022-06-15 20:48:41 -07:00
Jyoti Kumari
e4241564f8 qcacld-3.0: Add support for new ini param RoamScan_SecondTimer
Add support for new ini param RoamScan_SecondTimer. This param
is similar to the existing roam_scan_inactivity_time but unit
change

Change-Id: I65c7f88b95d102d9101d8dd59c662650706b247d
CRs-Fixed: 3015947
2022-06-15 13:54:27 -07:00
Jyoti Kumari
078acbe78e qcacld-3.0: Add support for new ini param RoamScan_FirstTimer
Add support for new ini param RoamScan_FirstTimer. This param
is similar to the existing gEmptyScanRefreshPeriod but units
change

Change-Id: If250ba41d71ef20c7365af2c90550b3b575d285c
CRs-Fixed: 3016232
2022-06-15 13:54:21 -07:00
Sheenam Monga
56cde67530 qcacld-3.0: Add handling to disable vdev for miracast
Add handling to disable second vdev of mac if miracast
is set for one vdev. In case high throughput or low latency
is required for particular vdev then another vdev on same
mac should be disabled, if present in MCC.

Change-Id: I36cc19f442130b098c4a02ec0ebcf69b89dd2a3c
CRs-Fixed: 3219512
2022-06-14 15:06:17 -07:00
Bing Sun
d602cb94cf qcacld-3.0: Generate puncture bitmap for STA based on bandwidth
Puncture bitmap is binding with channel bandwidth. If the STA can't
support bandwidth as AP broadcasts, STA need extract puncture bitmap
based on the negotiated bandwidth.

Generate puncture bitmap for STA based on negotiated bandwidth.

Change-Id: Iad303b220fc2e2c5a1b8c125f06300e414bf1fbd
CRs-Fixed: 3207676
2022-06-12 22:45:47 -07:00
Bing Sun
46f01746b9 qcacld-3.0: Add max link number cfg and band bitmap cfg
Add cfg to configure the max number of links supported for mlo sta
connection.
Add cfg to configure the band bitmap that mlo sta connection supports.

Change-Id: I6b27a7eb13eff026c5123e4bd24ba2424dba781d
CRs-Fixed: 3202029
2022-06-08 11:47:21 -07:00
Liangwei Dong
ead788ac8c qcacld-3.0: Fix SAP stuck in CAC wait state
Driver checks all 160Mhz 5 GHz SAP as DFS channel SAP, but
it is not right for some regdomain which no DFS required for
some 160 Mhz channels.
Fix by check wlan_reg_get_bonded_channel_state_for_freq API
to set DFS flag.

Change-Id: I8cd402c285e858ef8d322fc8d7cfaa32ae4c2056
CRs-Fixed: 3208538
2022-06-02 01:30:44 -07:00
Sheenam Monga
2a36fa5997 qcacld-3.0: update vdev param id enum for traffic config
Currently host sets wmi_vdev_param_set_traffic_config param
id to set traffic config param but convert_host_vdev_param_tlv
is disabled for MCC. so, latency/throughput flag is set for host
param id 0x99 but in FW vdev param id to configure traffic type
is 0xB6.

Fix is to update vdev parm id to 0xB6 to keep same vdev param
id in both Host and FW.

Change-Id: If67d00308810920e9a621fdfff1b05bcccc2e047
CRs-Fixed: 3209724
2022-06-01 06:50:42 -07:00
Ashish
aa31fd94c1 qcacld-3.0: Add support for new config item ConDTIMSkipping_MaxTime
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.

Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
2022-06-01 01:44:51 -07:00
Surya Prakash Sivaraj
7da2ef6f88 qcacld-3.0: Do not allow SAP SCC on non-PSC/non-VLP channels
SAP is allowed to come up on SCC with a STA operating
in 6GHz only if the STA is on a PSC channel in VLP mode.

Therefore, filter out all 6GHz channels from the PCL if
the STA operates on any non-VLP mode. Also, in case of
VLP mode, filter out non-PSC channels.

Change-Id: I37d9a510db3647fc07858af99eb614ebe824cc78
CRs-Fixed: 3206471
2022-05-29 16:49:27 -07:00
Dundi Raviteja
71fc4f3fd4 qcacld-3.0: Move pre_cac start code to pre_cac component
Move pre_cac start code flow from hdd to pre_cac component.

Change-Id: Ia3bd7521bff9571dee18dbc20b28d08b76128944
CRs-Fixed: 3199948
2022-05-27 18:06:07 -07:00
Liangwei Dong
c2a3afb1d3 qcacld-3.0: Set vdev high throughput/low latency parameter
Add API ucfg_mlme_set_vdev_traffic_high_throughput &
ucfg_mlme_set_vdev_traffic_low_latency to configure the
high throughput and low latency to vdev. In MLO STA concurrency
cases, the host or target may disable a certain link
based on the flags.

Change-Id: Iaae7cfdeb55e0086572b071d83520278aa3425ea
CRs-Fixed: 3191501
2022-05-26 16:18:38 -07:00
Liangwei Dong
9c9b350587 qcacld-3.0: Tune normalize_acs_weight for 6 GHz non-PSC CH
In new framework the 6 GHz preferred SAP ACS config file will
contain 5 GHz channels, to avoid 6 GHz non-PSC being set to
MAX weight value and 5 GHz channels selected easily, here set
normalize_acs_weight to 90 for non-PSC channel of 6 GHz, 40
for 2 GHz and 5 GHz channels.

Change-Id: I5e89339d0fd4e3c190dd2ead1ec87d12ff197691
CRs-Fixed: 3186587
2022-05-23 22:05:53 -07:00
Jyoti Kumari
dc5a5c30f8 qcacld-3.0: Add support for new ini param RoamCommon_MinRoamDelta
Add support for new ini param RoamCommon_MinRoamDelta. This param
is similar to the existing min_roam_score_delta param but units
change

Change-Id: If04ff2344a2651e7d8d71c92f05dfebc229f9fe1
CRs-Fixed: 3015930
2022-05-23 20:25:50 -07:00
Jyoti Kumari
025e717335 qcacld-3.0: Add support for new ini param RoamIdle_InactiveTime
Add support for new ini param RoamIdle_InactiveTime. This param
is similar to the existing idle_roam_inactive_time but unit
change

Change-Id: I857107a6d0e39f373e39d4fb9b762e7cf4c4a9e4
CRs-Fixed: 3015993
2022-05-23 20:25:42 -07:00
Sheenam Monga
d933925871 qcacld-3.0: Set LPI power when safe mode is enabled
i.) Keep rf test mode ini disabled by default due to which
6G security check will be true.

ii.) while calculating TPC power, check safe mode & RF test
mode enabled or not and set power mode to LPI if
safe mode or Rf test mode is enabled.

iii.) During HE ops IE extarct set power type to VLP, if
6 G Hz info is not present in HE ops IE. So that power
type can be VLP in case ap_ctry is non US.
To get safe mode value, a new member is_safe_mode_enabled
is added in mlme private object and is set whenever
WIFI_TEST_CONFIG_6GHZ_SECURITY_TEST_MODE command is triggered
via userspace.

Change-Id: I4fc2a231f8e7d18e68b92af3f381456113668779
CRs-Fixed: 3192967
2022-05-20 04:54:21 -07:00
Vulupala Shashank Reddy
389655e402 qcacld-3.0: Fix early stop scan threshold values
Currently we are reading early stop scan min and max
threshold to unsigned int, because of which we are
sending wrong values to FW.

Read early stop scan threshold min and max values
to signed int to send correct values to FW.

Change-Id: I2e96b3c3e9fb48352d8075a4e7a96eae41dacedc
CRs-Fixed: 3191076
2022-05-19 08:06:18 -07:00