Commit Graph

2691 Commits

Author SHA1 Message Date
Santosh Anbu
4d22cbcab3 qcacmn: Add API to get mlo context from objmgr
Add API to get mlo context from object manager.

Change-Id: Ic037d346842d880d8ef54104ea55391bc7058018
CRs-Fixed: 2964102
2021-07-08 00:11:17 -07:00
Santosh Anbu
404f4a0c23 qcacmn: Add mlo mlme ext callbacks
Add template to define and register MLO MLME ext callbacks

Change-Id: Iac1f33bd97afbc9744e5873ca342585cfd4d5c93
CRs-Fixed: 2964102
2021-07-08 00:11:12 -07:00
Bapiraju Alla
a62a30a938 qcacmn: Select partner link information based on best link score
Add API to get partner links information to proceed for ML connection
in best links selected in ML scoring.

Change-Id: Ief13bc19d8e44af601e2fe6397112d841bfcce28
CRs-Fixed: 2961883
2021-07-07 11:24:42 -07:00
Bapiraju Alla
fccacb7dd3 qcacmn: Update BSS score calculation for 11be
Update BSS score calculation to consider 11be parameters

Change-Id: I4e017ccdc7e3e62f9962d6d369dd6aecd85e47fe
CRs-Fixed: 2961896
2021-07-07 11:24:38 -07:00
Bapiraju Alla
561025df10 qcacmn: Add support to RNR and multi link IE parsing for ML scoring
Add support to parse RNS and ML IE and fill ml info in the scan
cache entry.

Change-Id: Ia5fdd0310e20d4435343f0535c071ea3d8510ef8
CRs-Fixed: 2961893
2021-07-07 11:24:33 -07:00
Bapiraju Alla
700ff4bdc8 qcacmn: Add INI configuration for MLO scoring params
Add INI parameters to configure MLO scoring parameters

Change-Id: Idbdb6194dcf5230a1e6cefbbaab472bb986fa6a4
CRs-Fixed: 2958676
2021-07-06 17:33:41 -07:00
Hariharan Basuthkar
72a9b8d0ec qcacmn: Export the API wlan_reg_set_ap_pwr_and_update_chan_list
Export the API wlan_reg_set_ap_pwr_and_update_chan_list so that it can
be used by APIs outside the UMAC module.

Change-Id: I5205f22bb9d6c4e28688c2db03478d46e6a3d200
CRs-Fixed: 2984261
2021-07-06 11:55:08 -07:00
Abhishek Singh
62fe3e3986 qcacmn: Trigger panic on CM active command timeout
Trigger panic on CM active command timeout.

Change-Id: I5013d2141dc2f0c9c9d1ed762b126e9d41fb7220
CRs-Fixed: 2983061
2021-07-06 06:53:47 -07:00
Yu Wang
98a3fceeb3 qcacmn: Enhance DCS event handler to support AWGN event
Handle DCS-AWGN event and take actions accordingly:
For STA mode, if the interference locates on primary 20MHz,
disconnect from AP; otherwise, find a max interference free width
and trigger channel change.
For SAP mode, if the interference locates on primary 20MHz,
try to select a random interference free channel and trigger channel
change (stop SAP if no channel is selected); otherwise, find a max
interference free width and trigger channel change.

Change-Id: I33e79f454b459b12ad84f8b0f3259403037464ee
CRs-Fixed: 2958675
2021-07-02 19:02:13 -07:00
Krishna Rao
e49588b31e qcacmn: Add RL variants for MLO QDF trace APIs
Add missing ratelimited variants for MLO QDF trace print APIs.

Change-Id: I05e3232bf7d40e13b201d13f92ebe35a93bc71dd
CRs-Fixed: 2982212
2021-07-02 11:44:07 -07:00
Hariharan Basuthkar
140f495b6c qcacmn: Export ucfg_reg_get_cur_6g_ap_pwr_type to use outside UMAC
Export the ucfg API ucfg_reg_get_cur_6g_ap_pwr_type, so that it can be
used by the APIs outside the UMAC module.

Change-Id: I46a23f2d3a2545dcc07373f664b419c125f557e1
CRs-Fixed: 2981562
2021-07-02 09:41:42 -07:00
Ashish Kumar Dhanotiya
09f8d73a48 qcacmn: Add support for 320MHz in get 5g bonded state API
Currently reg_get_5g_bonded_channel_state_for_freq,
reg_get_bonded_chan_entry and reg_get_bw_value apis don't
have support for 320MHz BW.
With this change add support for 320 MHz in above APIs.

Change-Id: I9a5563464a8969d19315a10013fd21f805dae184
CRs-Fixed: 2975464
2021-07-01 13:44:31 -07:00
Kiran Venkatappa
fea75dc9eb qcacmn: Move mlo mgr struct header inclusion under feature flag
Move inclusion of wlan_mlo_mgr_public_structs.h under feature flag to
avoid compilation error in branch where new MLO files are stripped.

Change-Id: Iaf9fd4cde63e057afeec11948385c123a38eb65f
CRs-Fixed: 2981045
2021-06-30 16:44:03 -07:00
Linux Build Service Account
b845bfdce4 Merge "qcacmn: Add WMI support for AWGN interference detection" 2021-06-30 04:12:54 -07:00
Linux Build Service Account
a9babbde7e Merge "qcacmn: Update Japan operating class table" 2021-06-30 04:12:53 -07:00
Yu Wang
15c52e32f7 qcacmn: Add WMI support for AWGN interference detection
Add APIs to extract AWGN information from the DCS WMI
interference event received from FW.

Change-Id: I4b2f9f4ef012553dac2a405dc7ac12aef9452354
CRs-Fixed: 2958675
2021-06-29 23:49:31 -07:00
Lincoln Tran
888f9d0de8 qcacmn: Update Japan operating class table
For operating class 128 and 130, a new center channel was added to list.
Update the table to reflect the new channels.

Change-Id: I6157f02089f7b4f16231a6bb35d829343bbc968f
CRs-fixed: 2975890
2021-06-29 23:49:26 -07:00
Linux Build Service Account
0d1a4b3ca1 Merge "qcacmn: Add new API to update ap power type for 6G roam" 2021-06-29 22:40:56 -07:00
Gururaj Pandurangi
ea4286f808 qcacmn: Add new API to update ap power type for 6G roam
Add a new API reg_get_6g_power_type_for_ctry to update ap
power type when STA roams in/out of 6GHz channel. It is
invoked during initial connection and sch beacon process
during roaming.

Change-Id: I994d912da79597cf71477fc632c8e678008271a5
CRs-Fixed: 2968243
2021-06-29 21:39:22 -07:00
Linux Build Service Account
07bcd91819 Merge "qcacmn: Add version info to the AFC request structure for compatibility" 2021-06-29 19:41:36 -07:00
Linux Build Service Account
5bc090b969 Merge "qcacmn: Define new structure for AFC request parameters" 2021-06-29 19:41:36 -07:00
Liangwei Dong
143f8487df qcacmn: Fix incorrect channel state for NOL channel
For 2G and 5G, the secondary channel list is coming from
master channel list which is not filtered by NOL.
Fix by using cur_chan_list to fill the secondary channel
list for 2G and 5G part.

Change-Id: I5e9ede6e39a66ad1a2f0e6c32c151ef175be6dab
CRs-Fixed: 2976916
2021-06-29 03:54:29 -07:00
Abhishek Singh
04a8eb2045 qcacmn: Code cleanup for connection manager Macro
Code cleanup for connection manager Macro.

Change-Id: I1526187e5efc6f4e38265d617c0342b4c1ea1228
CRs-Fixed: 2978727
2021-06-29 01:33:15 -07:00
Bapiraju Alla
35de216ce0 qcacmn: Update scan cache entry to support multi link beacons
Update scan cache entry to cache the information required for MLO scoring.

Change-Id: I3b4a848e51a49725970ee2ffd9e44c7efdbad682
CRs-Fixed: 2958058
2021-06-28 23:17:00 -07:00
Amruta Kulkarni
4897a16bf8 qcacmn: Add MLO params for VDEV start
Add MLO enable flag and assoc link info in VDEV start params

CRs-Fixed: 2969194
Change-Id: I4871b0471a042449894c9f730b41555cc010f3da
2021-06-28 23:16:55 -07:00
Kiran Venkatappa
776febf6f0 qcacmn: Update MLD address in vdev create command
Send MLD mac address in vdev create WMI for MLO.

Change-Id: Ia9088542194c502446cf2107306569a40eae90fd
CRs-Fixed: 2958839
2021-06-28 23:16:51 -07:00
Wu Gao
0971daad9f qcacmn: Add wakelock for enhanced CFR
There is potential risk when starting CFR and resume happens at same
time, so this change adds wake lock for enhanced CFR.

Change-Id: Ifbde12cb73092b7fc4ef517e57051af4ffe7a79f
CRs-Fixed: 2974733
2021-06-28 19:25:58 -07:00
Abhishek Singh
2c0f545cbf qcacmn: Remove unused commands from serialization
Remove unused commands from serialization.

Change-Id: I4692cc66c7288344e7b74644d08224a1e9772541
CRs-Fixed: 2978645
2021-06-28 12:24:45 -07:00
Jyoti Kumari
aab3676557 qcacmn: Don't use dfs_find_target_channel_in_channel_matrix()
As part of regulatory cleanup, remove
dfs_find_target_channel_in_channel_matrix()

Use dfs_find_target_channel_in_channel_matrix_for_freq() instead
of dfs_find_target_channel_in_channel_matrix()

Change-Id: I8750b95d5cf4a4fa3d738c2209edf1328794d486
CRs-Fixed: 2959916
2021-06-28 02:59:24 -07:00
Rhythm Patwa
5e3dce2207 qcacmn: Add version info to the AFC request structure for compatibility
Add version information to the AFC structure for compatibility issues.

Change-Id: I9f5d1da143f3e543b54b641ab8b82f722e1b5b32
2021-06-27 23:29:26 -07:00
Rhythm Patwa
aa346e9d93 qcacmn: Define new structure for AFC request parameters
Add structures for AFC request and response.

Change-Id: Ibf715d63a108b2317648dc78e4c1d12e48d755a8
2021-06-27 23:28:31 -07:00
Hariharan Basuthkar
b8b8c4e718 qcacmn: 6G regdb changes for 11BE
As per regulatory update #35, increase the max_bw to 320 MHz for the
6G regdomains and reg_rules, in the host regulatory database.

Change-Id: I2443ad4557881207c62d96411c6f4ec17c0fd314
CRs-Fixed: 2905331
2021-06-25 14:15:26 -07:00
Ananya Barat
a63dd03feb qcacmn: Increment num_radar_detects for FO everytime radar is detected
With the current implementation, dfs->wlan_dfs_stats.num_radar_detects
is incremented for radar detections in partial offload alone. For FO,
this stat was not incremented. As a result, when the number of times
radar has been detected is queried with radartool, the stat always
returns 0.

Fix this by incrementing this stat for FO chipsets as well.

CRs-Fixed: 2967882
Change-Id: Ibf5ea3f9f358476a2b21eeae782c44e0d53ada52
2021-06-25 14:15:20 -07:00
Hariharan Basuthkar
2234d80a72 qcacmn: Make 6G edge channel APIs common
Currently the 6G edge channel feature is MCC specific.
Make the 6G edge channel feature common for WIN and MCC.

Change-Id: I723b6db1d74dca5a911eede4ec6e6167f6b3e6bc
CRs-Fixed: 2976871
2021-06-25 07:20:05 -07:00
Lincoln Tran
1dd538e4b9 qcacmn: Change the 6G reg rules when appending
Currently, when appending the 6G reg rules to the reg rules list, the
index is decided by the current AP power type. However, the reg rules
sent to user space should not be influenced by what mode the SAP is
operating in. Update the logic to always use LPI reg rules.

Change-Id: Iac4cddb2dc1d73ce35bdbe6365ea14af26656bbf
CRs-fixed: 2969456
2021-06-24 09:31:14 -07:00
Naga
b1a9175dec qcacmn: Increase target_if response timeout
Add change to increase target_if start and stop
response timeout to provide enough time to process
event in slow processing platform

CRs-Fixed: 2965898
Change-Id: I839783331bd9fa4375aee81212005b0f2ac97255
2021-06-22 23:04:38 -07:00
Abhishek Singh
bac1da61a7 qcacmn: Limit the max connect time to 30-35 sec
Limit the max connect time to 30-35 sec.

Change-Id: Ifdcd1620f0f9175f1ae157f39d10fd5322a24c40
CRs-Fixed: 2973145
2021-06-22 13:14:26 -07:00
Krishna Rao
c5bc4d5af1 qcacmn: Rectify compilation issue in MLO manager client
Rectify compilation issue in MLO manager client code by explicitly
providing a tentative bool return for mlo_is_mld_sta() which is
currently only in skeletal form.

CRs-Fixed: 2972899
Change-Id: Ia5a8b2108bc5237f9f130c6bdeca55e1c0a65f0d
2021-06-22 13:14:21 -07:00
Ashish Kumar Dhanotiya
433c6f024a qcacmn: Cleanup code under CONFIG_CHAN_NUM_API feature flag
As part of regulatory cleanup, Cleanup code under
CONFIG_CHAN_NUM_API feature flag.

Change-Id: I3add81605ea939b3631396154ed3f07f59493f24
CRs-Fixed: 2953646
2021-06-22 03:54:03 -07:00
Yu Wang
dcd269c55a qcacmn: enhance crypto api to install key synchronously
Add parameter 'bool sync' for wlan_cfg80211_crypto_add_key()
to indicate whether or not to add key synchronously.
If it's set to true, wait until install key complete event
is received.

Change-Id: I9a69d486665fb3f65a5720ccfbfb638c09329418
CRs-Fixed: 2865832
2021-06-21 23:14:27 -07:00
bings
0e0155eb0d qcacmn: Add mlo link id support
Add mlo link id in struct wlan_objmgr_vdev_mlme

Change-Id: Ib5579bdb85116738714a86c14de6e3bdd46d6271
CRs-Fixed: 2958793
2021-06-21 17:10:13 -07:00
Priyadarshnee Srinivasan
70279dce34 qcacmn: Redefine conditions to skip CAC
Find out if a VAP is going through restart transition and skip CAC.
All other cases, do not skip CAC based on subset logic.
Also, if the channel is non-DFS, do not do CAC.

CRs-Fixed: 2945741
Change-Id: I5a9de47a879eb8d294dfed126a77970c52b2b546
2021-06-21 01:17:33 -07:00
Abhishek Singh
ce5d191d80 qcacmn: Refactor CM command timeouts and flush req list before deinit
Refactor connection manager command timeouts to handled unexpected
timeouts in VDEV/PEER SM.

Also flush the req list before deinit to avoid memleaks due to these
timout, if SM is not handled properly.

Change-Id: I6cd1857464691838c75b1ceda32f94ad4cda46a2
CRs-Fixed: 2971466
2021-06-18 17:06:18 -07:00
Srinivas Dasari
1db04afdb1 qcacmn: Allow PMKID only entries also to pmksa cache
In SAP case, external authentication(offloaded SAE authentication
to userspace) status event carries only PMKID to allow/disallow
peers to do PMKID+open auth based connection once the peers are
already SAE authenticated.
A check is added on the PMK length with the below change,
change: Ic41c2044e70f8d375130ef9e0af9fe4b83027c26. It rejects the
PMKID update to the pmk cache if the PMK length is 0. It's not
allowing to cache PMKID derived as part of SAE authentication.

There is no need to cache the PMK in SAE case as it won't be
used internally by driver or won't even be sent to firmware.
So, don't add any check and allow PMKID only entries also to
facilitate PMK caching mechanism in SAE SAP.

Change-Id: Ibd72975e91d93af9665c392b4e7a708a5f9c336a
CRs-Fixed: 2967752
2021-06-18 11:07:45 -07:00
narayan
12a1e5c7fd qcacmn: Add component for Repeater feature
Add component id for Repeater feature.
Move the feature specific flgas to Repeater component.

Change-Id: I1615ce0023a0b0f7a3fffa206d6fa5f320a18ed3
CRs-Fixed: 2936326
2021-06-18 06:04:15 -07:00
Kiran Venkatappa
18a1a3d4a5 qcacmn: Add WMI MLO params for vdev start
New TLVs for MLO flags and partner link info are introduced in vdev
start WMI command. Add WMI changes to add these TLV in the vdev start
command.

Change-Id: Ic7d54c406f69346a6eedb43b1ebcf7266c448bd8
CRs-Fixed: 2958843
2021-06-17 20:09:45 -07:00
Kiran Venkatappa
923cd4dea9 qcacmn: Add WMI vdev create params for MLO
WMI vdev create is changed to incude mlo macdress as one of TLV.
Add changes in WMI vdev create send API to include this new TLV.

Change-Id: Ia13bdb8fbfc9f68d1e4c0209201f9acc4f575387
CRs-Fixed: 2958839
2021-06-17 20:09:40 -07:00
Vignesh Mohan
dcd62f697c qcacmn: Remove redundant DFS APIs
Remove the redundant DFS APIs dfs_mlme_get_dfs_channels_for_freq and
dfs_nol_timeout.

Change-Id: I9c93c27c3d575228a2e8102660b395beb040dcce
2021-06-17 07:19:45 -07:00
Vignesh Mohan
767f8e8c65 qcacmn: Add ht40 intolerance flags to reg chan
Add HT40 intolerance flags to regulatory channel structure.

Change-Id: I1e72ea9d27b4531877bc8727f1bc57cd29a60faa
2021-06-17 07:19:39 -07:00
Vignesh Mohan
4a37eb222f qcacmn: Update the max_bw of the reg chan only during CC change
Update the max bandwidth value of a channel in the regulatory
channel current channel list only during the country change and not
during every current channel list update. This is to avoid updating
the max bandwidth value of a channel that has been disabled by NOL
temporarily.

Change-Id: I36fb19f727c62bc86d61d81494ca1791a33cf99e
2021-06-17 07:19:35 -07:00