Gráfico de commits

3226 Commits

Autor SHA1 Mensaje Fecha
Edayilliam Jayadev
f67a6e56e9 qcacmn: Expose APIs to print mgmt Rx REO stats
Expose APIs to print management Rx reorder related stats.

CRs-Fixed: 3111702
Change-Id: I5577d52f686662d2aa86550f245520ca1516b8a8
2022-03-30 08:23:56 -07:00
Edayilliam Jayadev
39cd98a9b0 qcacmn: Set wait count to zero for inactive links
Set wait count value to zero for links with invalid MAC
HW snapshot.

CRs-Fixed: 3111694
Change-Id: I94c563c39018ea3364d70eb808081d7496939047
2022-03-30 08:23:50 -07:00
Edayilliam Jayadev
0d5aa6147f qcacmn: Handle discontinuous link id values
MLO HW link ids need not be continuous. Handle
discontinuous link id values at host.

CRs-Fixed: 3111570
Change-Id: I561cdabed8a6b621dba87c49832f5c1d1b194b9a
2022-03-30 08:23:44 -07:00
Edayilliam Jayadev
b4d1204cad qcacmn: Validate the MLO HW link info from global shmem
Validate the MLO HW link related info obtained from the global shared
memory arena of management Rx reorder feature.

CRs-Fixed: 3111549
Change-Id: I6fd7812dc49bfa8428b2ffbf66ae978592734bc0
2022-03-30 08:23:38 -07:00
Edayilliam Jayadev
412d3efb03 qcacmn: Add APIs related to MLO link capabilities
Add the following APIs related MLO links in MLO manager.

1. Get number of active MLO links
2. Get valid MLO link bitmap

CRs-Fixed: 3154979
Change-Id: I49c544a5c73a9ce72305bbe83230a4566d909095
2022-03-30 08:23:32 -07:00
Aakanksha Doda
1ed089ab8d qcacmn: Use qdf_mem_copy only if the dst addr is not null
Use qdf_mem_copy only if split_prof_end is not null.

CRs-Fixed: 3151563
Change-Id: I9e525383caf5fd49c22d0412996eac895811af51
2022-03-30 05:48:57 -07:00
Linux Build Service Account
a8a9edfab6 Merge "qcacmn: Add non-6g definitions of regulatory API" 2022-03-29 19:37:45 -07:00
Linux Build Service Account
ca30b20446 Merge "qcacmn: Remove conditional compilation" 2022-03-29 19:37:45 -07:00
Linux Build Service Account
83bbab52b8 Merge "qcacmn: Allow 6Ghz if any 6Ghz AKM is supported" 2022-03-29 17:07:03 -07:00
Vignesh U
07a565b1a1 qcacmn: Add non-6g definitions of regulatory API
The API reg_get_ch_state_based_on_nol_flag() is a common API and in its
definition it calls the API
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() which is defined for
the 6G specific macro CONFIG_REG_6G_PWRMODE. For non-6G callers, this
function is not defined and will lead to implicit declaration compilation
error.

Add a non-6G version of the API
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() so that, it can be
called in reg_get_ch_state_based_on_nol_flag() even for non-6G PFs.

Change-Id: I810af65c7580f9a5dbfb2df25530dd95261e2a80
CRs-Fixed: 3161629
2022-03-29 16:59:58 -07:00
Vignesh U
8917e2dc1a qcacmn: Remove conditional compilation
The API reg_get_ch_state_based_on_nol_flag() calls the function
wlan_reg_get_5g_bonded_channel_state_for_pwrmode() which is part of the
header wlan_reg_services_api.h. This header is conditionally included
using the macro CONFIG_AFC_SUPPORT which is not enabled for all the PFs.

Remove the condition header file inclusion as
reg_get_ch_state_based_on_nol_flag() is a common API for all PFs.

Change-Id: I3f6cc301474648fdd6a2937421ee0421a0788856
CRs-Fixed: 3161629
2022-03-29 16:59:52 -07:00
Deeksha Gupta
e8e16bec58 qcacmn: Allow 6Ghz if any 6Ghz AKM is supported
Currently, Userspace can send multiple AKMs in connect req.
For 6GHz, some AKMs are not supported. Suppose in multiple
AKMs, any AKM doesn't support 6GHz then driver returns failure.
Due to this, DUT doesn't not able to connect to 6Ghz.

Fix is, allow 6Ghz if any 6Ghz AKM is supported.

Also adds necessary prints in scan filter API to help
debug the candidate rejection.

Change-Id: Id9967af5ec7f64e95b33dd8be3bd6c9649e72bb2
CRs-Fixed: 3158489
2022-03-29 14:12:01 -07:00
Linux Build Service Account
e53c033e74 Merge "qcacmn: Add support for MLO target recovery" 2022-03-29 14:08:50 -07:00
Shwetha G K
2d87b61c0e qcacmn: Add support for MLO target recovery
Add support for MLO target recovery. Add MLO target recovery
types, add API to cleanup the asserted SOC's MLO setup info
during recovery.

CRs-Fixed: 3153534
Change-Id: Ibcfab35460de0c7b458377e24e63ab63cbe39e3c
2022-03-29 12:22:29 -07:00
Balaganapathy Palanisamy
592fffb251 qcacmn: Add MLME ops for SON
Add MLME Tx ops for SON module

CRs-Fixed: 3127085
Change-Id: Ie6dd00ebecc9ef5f008adfa264942fcdfb49e7f0
2022-03-29 05:07:50 -07:00
Hariharan Basuthkar
17078fff36 qcacmn: Rename is_treat_nol_as_disabled to treat_nol_chan_as_disabled
Rename is_treat_nol_as_disabled and is_treat_nol_as_dis to
treat_nol_chan_as_disabled in the regulatory component.

Change-Id: I3f372ee1707b40e2bdcd5ca53b77e6b8f76c456b
CRs-Fixed: 3157756
2022-03-29 05:07:43 -07:00
David Oladunjoye
dc646ca1cf qcacmn: umac: In TWT log peer MAC when peer lookup fails
Peer MAC address is not specified when get_peer_by_mac fails.
We should print the peer MAC address with debug message.

Change-Id: I5f559e6ba7373e8fef851f8035008cfaba8a3574
CRs-Fixed: 3155419
2022-03-28 13:11:07 -07:00
Shwetha G K
6db4065f76 qcacmn: New metadata version for agc_gain_tbl index
Add new meta data version for agc gain table index

CRs-Fixed: 3155335
Change-Id: If058afd39207b89f6e523073d80ece4155cc03b8
2022-03-28 10:47:59 -07:00
Jianmin Zhu
ba015feedc qcacmn: Do not access reg private if destroyed
When SAP off and psoc idle shutdown happens before NOL timeout,
DFS pdev obj is destroyed, NOL timer is cleared, since regulatory
pdev private obj is destroyed before DFS, psoc master channel list
nol flag isn't cleared for regulatory pdev private obj is NULL.
When pdev current channel list is populated from psoc master channel
list, nol channel becomes disabled,  can't be used any more.

To fix it, when DFS private pdev obj is destroyed, don't access
regulatory pdev private if destroyed, but still clear psoc
mas_chan_list nol flag.

Change-Id: I79dad84631179d78d05c2738ce0aa4f863def7d4
CRs-Fixed: 3158675
2022-03-25 19:12:40 -07:00
Jianmin Zhu
e0ace228c5 qcacmn: Revert "Fix issue that DFS NOL can't be cleared"
Replaced with "qcacmn: Do not access reg private if destroyed".

Change-Id: I636bcae59166ccd4719056c777682435a0a057bf
CRs-Fixed: 3158675
2022-03-25 19:12:34 -07:00
Hariharan Basuthkar
788dc6401f qcacmn: Rectify issues in super channel list construction
1) Currently, the channel state and chan flags of the super channel list
   are not initialized. To fix this issue, initialize the channel state
   and chan flags of the super channel list entries to
   CHANNEL_STATE_DISABLE and REGULATORY_CHAN_DISABLED respectively.
2) The best power mode calculated in reg_fill_best_pwr_mode is incorrect.
   To fix this issue, pass the reference of max_eirp_pwr to
   reg_update_sup_ch_entry_for_mode to avoid the reset of max_eirp_pwr.

Change-Id: I624333f8fb89682771bd48e3f203509f7dadb41f
CRs-Fixed: 3145006
2022-03-25 03:00:44 -07:00
Shwetha G K
3de51ff2c5 qcacmn: Add host timestamp to cfr header
Include a UTC timestamp when constructing the CFR header,
represented as a 64-bit nanoseconds value.
This will allow for better correlation with ground truth
data.

CRs-Fixed: 3156826
Change-Id: Ie77d5e433346f21c3876930a2b8cbfa528affb20
2022-03-24 04:11:42 -07:00
Liangwei Dong
1f932c511b qcacmn: Include mcc quota header files
Include mcc quota header files to enable MCC QUOTA
feature.

Change-Id: I17aa9f4f1ba360245f6a7e0dfcc1ad204af7aaaf
CRs-Fixed: 3151008
2022-03-23 21:10:05 -07:00
Vignesh U
dda26d83bf qcacmn: Compute chan from freq considering all 6G power types
For a 6G frequency, if it is not part of the current power mode's
master channel list, then it is not possible to convert the frequency
to a channel number and is return as 0.

The input frequency might be part of some other power mode's master
channel list. So consider all the power mode to calculate channel
number from frequency.

Change-Id: I5810744504b5b11d728cc2abacc02e64a4accfcd
CRs-Fixed: 3142048
2022-03-23 21:09:59 -07:00
Pragaspathi Thilagaraj
aa27094cab qcacmn: Add support to set 11az ext feature flags
Add support to set 11az ext feature flags
Read the firmware capability for 11az features and
advertise the corresponding wiphy flags.

Change-Id: I85f6cc2f65a5d9892830f66a726cffc823093bca
CRs-Fixed: 3150584
2022-03-23 19:42:26 -07:00
Pragaspathi Thilagaraj
8d44eccea7 qcacmn: Add new wifi_pos target_if files
Add below new target_if layer files for TX ops and
RX ops separately:
target_if_wifi_pos_tx_ops.c
target_if_wifi_pos_rx_ops.c

Change-Id: I0746881b5fd429bb0a003dbcfea11691a90e9c34
CRs-Fixed: 3139459
2022-03-23 19:42:19 -07:00
Shwetha G K
9ce7921dff qcacmn: Add APIs to read crash info from global shmem
Add APIs to read the crash info from global shmem arena

CRs-Fixed: 3122298
Change-Id: I872f678669c8ad720bb01215c28b374947d762b6
2022-03-23 06:28:29 -07:00
Shwetha G K
0ab5023d59 qcacmn: Separate global shmem common APIs from REO
Move the global shmem common APIs (init & deinit) from REO
component to MLO component.

CRs-Fixed: 3122203
Change-Id: Ib52490c0e9662d6297a52af365e1d87b60e0739d
2022-03-23 06:28:13 -07:00
Vignesh U
9e1d5d198b qcacmn: Get all the channel list for 6G band
Get the channel list for 6G band for a given power mode. When the power
mode is REG_BEST_PWR_MODE the 6G channels will contain all the channels
supported by the reg domain irrespective of the power mode.

Change-Id: Ia1a3757685d477a2a2565eb89422fc039ca3b5dd
CRs-Fixed: 3141999
2022-03-23 04:49:54 -07:00
Vinay Adella
88c89dc960 qcacmn: Add scan macros related to scan start-offset parameter
These macros define the min & max time from TBTT, when the scan
dwell time starts. They can be used as a parameter to the scan
WMI command.

CRs-Fixed: 3154082
Change-Id: Ieca8acfd2e6897a8e45fafaaffd8f283f451d203
2022-03-23 02:12:14 -07:00
Himanshu Batra
896411a36b qcacmn: Handle mlo disconnect while connection is in progress
In case of MLO, when connect is in progress and disconnect is received,
there may be a possibilty that the assoc link's bss peer is deleted
before non-assoc link's connect is still in progress which can lead to
issue in peer setup at DP and FW.
Add fix to handle mlo disconnect while connection is in progress

Change-Id: I550abff439deca19c7ab355cae1fa46db1f0f61b
CRs-Fixed: 3152770
2022-03-22 19:00:42 -07:00
Surya Prakash Raajen
3f83cb1051 qcacmn: Clear mld soc setup if teardown fails
Add support to clear mld soc setup and link down
such that in case of teardown fails counters are updated
properly.

Change-Id: I5dc8c581069ef1d5bd0614568b435c0a9448fdcc
CRs-Fixed: 3127308
2022-03-22 14:50:05 -07:00
Paul Zhang
648757b8ca qcacmn: copy the right Vendor IE for reported STA
If Vendor IE also presents in STA profile, it only needs
to copy the vendor IE from STA profile for link specific
frame and reported BSSID.

Change-Id: I48ed4e88f097fe6570b3f3df764cd707c4b758d3
CRs-Fixed: 3136382
2022-03-22 03:25:02 -07:00
Jianmin Zhu
ee27003447 qcacmn: Fix build issue on kernel5.10
Fix build issue on kernel5.10.

error: implicit conversion from enumeration type 'enum reg_6g_ap_type'
to different enumeration type 'enum supported_6g_pwr_types'
[-Werror,-Wenum-conversion].

Change-Id: Ib15ed20036f2472b567acee2e4d24d3e6bfe1956
CRs-Fixed: 3154541
2022-03-21 22:01:30 -07:00
Jianmin Zhu
d94f0fb619 qcacmn: Fix issue that DFS NOL can't be cleared
When SAP off and psoc idle shutdown happens before NOL timeout,
DFS pdev obj is destroyed, NOL timer is cleared, NOL channel
is failed to clear for regulatory pdev obj is freed already.

To fix it, let NOL timer and NOL be cleared in dispatcher_pdev_close,
before pdev destroy and regulatory pdev obj destroyed.

Change-Id: I5818f8a0284a6c45e8a435ac59269df73507deeb
CRs-Fixed: 3151099
2022-03-21 22:01:25 -07:00
Hariharan Basuthkar
b844c62799 qcacmn: Add reg API to treat NOL chan as disabled/enabled
By default, the regulatory module considers NOL channels as disabled
and these channels are excluded in channel search algorithm.

However, there are use cases where a search for NOL channel
is done and regulatory module fails to fetch the channel param.
Hence create an infrastructure to consider NOL channels
as "enabled" / "disabled" as per user's choice during channel search.
Setting "is_treat_nol_chan_as_disabled" flag to true considers
NOL channels as disabled and punctured.

The callers of reg_fill_channel_list() and
reg_set_channel_params_for_freq() APIs should set the flag
"is_treat_nol_chan_as_disabled" as per the desired use case.

CRs-Fixed: 3134870
Change-Id: Iae7cea18ecfd5e9972ea8e6934828898a6cd1e74
2022-03-21 01:28:30 -07:00
Hariharan Basuthkar
a42a26bfac qcacmn: Add APIS that consider NOL channel state as enabled
Move the following APIS from component dev to cmndev.
1. reg_get_nol_channel_state
2. reg_get_5g_chan_state
3. reg_get_5g_bonded_chan_state

The purpose of these APIS is to consider NOL channels' state
as "enabled". This is used in reg_set_5g_channel_params_for_freq() and
reg_fill_channel_list() API to get the channel state based on
user flag "is_treat_nol_chan_as_disabled".

Change-Id: I174e365e7e5ece8ac5fb082dd92eb76be3126cc6
CRs-Fixed: 3149470
2022-03-21 01:28:04 -07:00
Manoj Ekbote
7cdaafcd49 qcacmn: Reduce log level for CP stats non-critical print
No TWT session params can be a debug log since it is not fatal
and need not be printed to console. In multi-client tests,
this can cause too many prints since upper layer polls for the
stats periodically.

Change-Id: I7a4cac9202ac15c430910864d0f863e1193ea569
CRs-Fixed: 3150799
2022-03-20 21:05:51 -07:00
Vijay Krishnan
9bc8adec02 qcacmn: Store the threshold freq in regulatory
If a Radio supports 6G band channels, the ACS is expected to give
priority to a set of channels that are above a certain (threshold)
frequency.

Store the extracted threshold frequency from WMI into regulatory
component.

Add a new API reg_get_thresh_priority_freq to get the threshold
frequency received from the target.

CRs-Fixed: 3143318
Change-Id: I8676ce56e68b5a4eb4e4b64415dc293e086472f0
2022-03-17 03:44:52 -07:00
Jianmin Zhu
f683d0b718 qcacmn: Fix build error
Error: new_start_ch may be used uninitialized

Change-Id: I124d9c305e4f885a1e3d5c77ddd1dab57070b1de
CRs-Fixed: 3152361
2022-03-17 00:25:04 -07:00
Pooventhiran G
f5e2da429b qcacmn: Add Get RxPN WMI to obtain Rx PN
Add WMI support to obtain Rx packet number of a non-bss peer.

Change-Id: I841c1869299ebf5eeb21ee6406426a964d2d7112
CRs-Fixed: 3150832
2022-03-16 19:34:14 -07:00
Sheenam Monga
b17d8fc57f qcacmn: Avoid compilation error when 6G disabled
Currently definition of wlan_reg_get_power_string is
present for 6G only which may cause compilation issue
when 6G is disabled.

Fix is to add definition of wlan_reg_get_power_string
for both 6g enable and disable case to avoid any compilation
issue.

Change-Id: Iaad8f16543306e6ac09e76546062fae554124c1e
CRs-Fixed: 3150997
2022-03-16 11:14:21 -07:00
Jyoti Kumari
7c3b36f765 qcacmn: Print reference id in debug prints
Print ref_id in all debug prints. It will make sure even if
string value is not added in string_from_dbg, there will be ref
id to debug leak issue.

Change-Id: If35a298239dd09cb4169474da34e30e85a2cde92
CRs-Fixed: 3147857
2022-03-16 04:02:08 -07:00
Priyadarshnee Srinivasan
307e380442 qcacmn: Add reg opclass changes for 320MHZ
Add opclass changes to support 320MHZ in 11BE

CRs-Fixed: 3135023
Change-Id: I57827cf0f5f056df0dceee0a6225d4ea7219cce9
2022-03-15 20:44:09 -07:00
shubpawa
68f86baf32 qcacmn: Added support to enable/disable mgmt rx reo sim feature
Add support to enable/disable mgmt rx reo sim feature

cfg80211tool wifiX mgmt_rx_reo_simulation 1 (Enable)
cfg80211tool wifiX mgmt_rx_reo_simulation 0 (Disable)

Change-Id: I3dbe202a86ab2911ea6a0bd1295ba02c39402fa0
CRs-Fixed: 3100349
2022-03-15 07:38:01 -07:00
Wu Gao
ce53a6f23f qcacmn: Fix error of macro CLEAR_PARAM
CLEAR_PARAM failed to clear bit at bit position of "val". This change
correct to ((__param) &= (~(1 << (__val)))).

Change-Id: I20a9203592c0f48c3d2999985edd8ff81f55eb9d
CRs-Fixed: 3137825
2022-03-15 00:10:48 -07:00
Priyadarshnee Srinivasan
4f3cbf6b28 qcacmn: DFS random channel selection for 11BE
Enable the wmi_service to fetch the radar found cfreq from
wmi_service_radar_found_chan_freq_eq_center_freq.

Add changes in DFS random channel selection algorithm
(1) To find a channel of input width 320MHZ. Since 320MHZ in 5G
is 240MHZ (320 - 80 punctured), there are 12 valid 20MHZ subchannels
possible in 240MHZ. Validate the continuity of 240MHZ channel before
declaring the channel to be found.
(2) To find a fallback channel for the input channel
width of CH_WIDTH_320MHZ. The fallback channel of 320MHHZ is
160MHZ.

CRs-Fixed: 3149475
Change-Id: I03cac7f090de20efd912402b5e4df543b47aafed
2022-03-14 22:31:26 -07:00
Deeksha Gupta
b06ca5bc3d qcacmn: Update key management after bss create response
Add support to update key management with higher security
after BSS create response.
Also, Currenlty if there are multiple AKM and ucast cipher.
Host overwrites AKM and ucast cipher value with the new one.
Instead of overwrite, add support to do ORing to keep all values.

Change-Id: I679a86debef649efbce1a08b60512d127f7fbbee
CRs-Fixed: 3113222
2022-03-14 10:11:25 -07:00
Deeksha Gupta
348fee747b qcacmn: Update BSS score calculation based on Security Profile
Update BSS score calculation to consider security profile.

Change-Id: I120774ce2472442ebba15e098b4089f8a17cbfc5
CRs-Fixed: 3113215
2022-03-14 10:11:19 -07:00
chunquan
bc71eff483 qcacmn: Rename files with blacklist/whitelist
Rename files with  blacklist/whitelist to denylist/
whitelist. Rename files with blm to dlm.

Change-Id: I6f533c30c664aaaf713cdd2e2e34f9528df139b5
CRs-Fixed: 3099867
2022-03-14 08:50:32 -07:00