提交線圖

16745 次程式碼提交

作者 SHA1 備註 日期
Priyadarshnee Srinivasan
2534a0683e qcacmn: Get opclass details for current hwmode
Iterate through the opclass table and fetch the opclass
details for the channel widths supported by the current
hardware mode.

CRs-Fixed: 3168892
Change-Id: I9b418999e3745529e3db5bae3a46569e0d1bdc02
2022-04-11 13:02:23 -07:00
Will Huang
56579a6a5a qcacmn: Fix build error when enable AFC from MCL
&p_range->lowfreq, 'reg_assign_vars_with_range_vals' from incompatible
pointer type.
'low_limit_enum', 'high_limit_enum' may be used uninitialized.
'reg_is_val_within_range' defined but not used.

Change-Id: Id5ff2e0fa18555e4d27e955e6508bd23da280aff
CRs-Fixed: 3153499
2022-04-11 04:09:58 -07:00
Sai Pavan Akhil Remella
05b99c2d66 qcacmn: Add API to get min_dwell_time_6g configured ini
Added API support to get min_dwell_time_6g configured value
from the ini.

Change-Id: I214871afdde26bd4d7ca9796e264ed9699f5dd58
CRs-Fixed: 3143107
2022-04-11 04:09:51 -07:00
Harsh Kumar Bijlani
ad3d4de01a qcacmn: Use correct set of macros for Rx monitor dependent features
Use correct set of macros for Rx monitor dependent features.

Change-Id: I51833852811bb339afd284a1291460ec827fe6e5
CRs-Fixed: 3169125
2022-04-10 00:28:05 +08:00
Qun Zhang
debe09f974 qcacmn: Let WMI op extract_roam_event enabled for LFR2/3
WMI op extract_roam_event is also needed to extract roam event
of LFR2, so let it enabled for LFR2/3 both.
Due to struct roam_offload_roam_event is only defined for MCC,
add MCC specific macro CONN_MGR_ADV_FEATURE to protect it.

Change-Id: Ie9724ee578feb60ada30fe75ed3f155a2bbe77a9
CRs-Fixed: 3167557
2022-04-08 14:12:44 -07:00
Yu Wang
4dc08c3aa3 qcacmn: skip MBSSID processing if it's not supported
The Multiple BSSID field (Bit 22) in Extended Capabilities indicates
whether MBSSID is supported or not. Skip MBSSID processing if the
field is NOT set in beacon.

Change-Id: Id18318587cb9d26fa6315202b5bbe98ef8870fdd
CRs-Fixed: 3160715
2022-04-08 14:12:38 -07:00
Himanshu Batra
022ae0bb7f qcacmn: Avoid connect req for a 3 link MLD AP
Avoid connect req for a 3 link MLD AP

Change-Id: I7c2a1166f1d67b272f07bf62761cf850d9c2ee51
CRs-Fixed: 3165708
2022-04-08 07:20:27 -07:00
Amir Patel
2ea0071499 qcacmn: Use 'end_offset' as delimiter for status buffer
parsing

HW desc provides 'end_offset' which can be used as delimiter
to identify status buffer boundary

Change-Id: I265ab328b80615fd2386402f0ea3797d124b8f8f
CRs-Fixed: 3157554
2022-04-08 04:29:12 -07:00
Manoj Ekbote
67fe081325 qcacmn: MLO Intra-BSS changes
When a packet s destined to ML STA from a legacy peer, use
the ML peer id to identify the primary link and redirect the
packet to primary vdev for Intra-BSS.

Change-Id: Id8e6fcc9e2dd638e6d923eef50f55325fa538c49
CRs-Fixed: 3169484
2022-04-08 04:29:07 -07:00
Bing Sun
37a48b157f qcacmn: provide is_create_punc_bitmap when generateing puncture
Puncture is one of 11be feature. Even 11be compile macro is defined,
Dut can start AP with non-11be mode. Regulatory component has no idea
whether it should consider puncture or not. Puncture should be a
configurable parameter from caller.
When updating channel state, puncture should be considered for 11BE
AP. is_create_punc_bitmap should be set in struct ch_params and pass
it to reg_get_5g_bonded_channel_state_for_pwrmode.

Change-Id: I96fb131f2df201a827ab7d98ca099a38b008e0d3
CRs-Fixed: 3160259
2022-04-08 01:57:29 -07:00
Amir Patel
83294e6613 qcacmn: Add support for common_user_info TLV parsing
Add support for common_user_info TLV parsing for WKK

CRs-Fixed: 3160709
Change-Id: I4c76e6a6ca19cba7d21a0d42143811023c9b69b9
2022-04-08 01:57:23 -07:00
Naman Padhiar
3cb1b64c60 qcacmn: Use a max of 5 WBM2SW rings for whunt failure
The maximum WBM2SW rings in whunt for MSL is 5 and
the same could be 4 in wlan code which will result
in wcov failure for MSL. Use a maximum of 5 WBM2SW
rings for HSP based on FW_SIM config flag to address
this failure.

Change-Id: I16770566710efeeea7acbb51f6710e7a996b5cac
CRs-Fixed: 3167050
2022-04-07 16:28:34 -07:00
Adwait Nayak
8ccd0d1792 qcacmn: Add pktlog decode info WMI handler
Copy software image version, chip information,
pktlog json version and pdev id from the event received
from firmware.

Change-Id: I53c2fceee129fa69126ae8214fb652a744bfcbfa
CRs-Fixed: 3165004
2022-04-07 15:13:11 -07:00
Srinivas Girigowda
c53ac4acce qcacmn: Add sanity check for dp_intr_id
Add sanity check for dp_intr_id in monitor flush ring.

Change-Id: I9562e837d898543152da111ca1c4bf9f0558092d
CRs-Fixed: 3166446
2022-04-07 01:18:50 -07:00
Himanshu Batra
5decc2b494 qcacmn: Use correct BW for ipa perf based on radio type
Use correct BW for ipa perf based on radio type

Change-Id: Ieabf287445de79e8c0a80416a39268a7334a82d5
CRs-Fixed: 3160927
2022-04-06 04:39:52 -07:00
Adwait Nayak
3799e7e5ad qcacmn: Fix memleak in MBSSIE handler
For corrupt beacon frame, the memory allocated for
split_prof_start is getting allocated for split
profile case. But since there are no other nonTx
profile or new MBSSID element present afterwards,
Hence, added mem free to handle this scenario.

Change-Id: I6b93ae0be97d72264071d1ce99345f8c0c23f81d
CRs-Fixed: 3156909
2022-04-06 00:12:06 -07:00
Jeevan Kukkalli
7f9da4ae12 qcacmn: Add lite monitor set/get functions
-Add lite monitor tx/rx filter config set/get fucntions
-Add lite monitor tx/rx peer config set/get functions

Change-Id: I47cc1085c64468b8a0fada871e2f5d3707ca7063
CRs-Fixed: 3078298
2022-04-05 10:11:03 -07:00
Jhalak Naik
a68a2f3b18 qcacmn: Add QCA vendor attributes for AFC support in external ACS
Add support for new QCA nested attributes to pass the AFC channel
information as part of the external ACS request command,
EXTERNAL_ACS_EVENT_CHAN_INFO.

Change-Id: I9ab4b8bfce64ea31226dad90f39bee22086b94d9
CRs-Fixed: 3152230
2022-04-05 05:10:38 -07:00
Pooventhiran G
1f04b5497c qcacmn: Retrieve cipher_type for IGTK/BIGTK keyix
For IGTK/BIGTK keyix, cipher table is not populated. Retrieve
cipher_type from key structure.

Change-Id: Ic61e66854f91317194ee90f64187fd2b787827b0
CRs-Fixed: 3163335
2022-04-05 03:42:25 -07:00
Harsh Kumar Bijlani
91fbf6db50 qcacmn: Change data type for byte count to uint64_t in cdp_dev_stats
Change data type for byte count to uint64_t in cdp_dev_stats.

Change-Id: I917df55f3c816351b6689d39c28ea9a01f76deb3
CRs-Fixed: 3166358
2022-04-05 03:42:19 -07:00
Amit Mehta
a32898f45b qcacmn: Add check to skip connectivity logging
Currently we are sending DHCP and EAPOL connectivity
logs for Tx and Rx packets. but in case of DHCP
we are receiving DHCP DISC and DHCP REQ and
we are sending Tx status as TX_Fail.

So to fix issue ignore sending connectivity log in case
of Rx if packet type is DHCP DISC or DHCP REQ.

Change-Id: I688c375243cff0773bd8290e990d5106ff5b47ae
CRs-Fixed: 3164050
2022-04-04 21:00:31 -07:00
Himanshu Batra
25e3a4aa88 qcacmn: Add fix to avoid NULL pointer deref during ml peer create
Add fix to avoid NULL pointer deref during ml peer create

Change-Id: I8b24ceff952ffacd939efc2a56896089626f6d08
CRs-Fixed: 3165690
2022-04-04 07:29:57 -07:00
Harsh Kumar Bijlani
84a762d85d qcacmn: Consider tqm bypass frames for stats accounting
Parse the tqm bypass frames packet count and byte count and consider
them for stats updation in the vdev.

Change-Id: I644eb9819b8a68fbf9da2e2f2588c80dfaa61fa5
CRs-Fixed: 3163215
2022-04-04 03:49:53 -07:00
Shubham Pawar
78a2fe5f48 qcacmn: Call wlan_mgmt_reo_sim_stop to stop the simulation
In ucfg_wlan_mgmt_rx_reo_sim_stop() when mgmt rx reo simulation
is in progress, wlan_mgmt_rx_reo_sim_start() is called
incorrectly instead of calling ucfg_wlan_mgmt_rx_reo_sim_stop().

Fix this by calling ucfg_wlan_mgmt_rx_reo_sim_stop() instead of
wlan_mgmt_rx_reo_sim_start() in ucfg_wlan_mgmt_rx_reo_sim_stop().

Change-Id: I906618fc87448cefae54bdcdf00c7f64217362fd
CRs-Fixed: 3154187
2022-04-01 10:50:20 -07:00
Hariharan Basuthkar
49ce65bf57 qcacmn: Reset super chan list and allow same power mode config
Consider the case where the AFC server response initially,
has only one 20 MHZ channel available for operation and AP is operating
on SP on that channel. In the next response, the AFC server response
advertises support for all UNII-5 and UNII-7 channel. In this case,
the AP VAP does not come up in the new channel chosen by ACS.

The super channel list is not being reset on every AFC response received
from the target. Also, if the current power mode is SP, and the target
power is also SP, reg_set_ap_pwr_and_update_chan_list does not the same
power mode configuration. Due to this, the current channel list and
super channel list are not updated, and therefore the VAP fails to come
up in the new channel chose by ACS.

To fix this issue, reset the super chan list on every AFC response
received and remove the check to prevent the same power mode setting
in reg_set_ap_pwr_and_update_chan_list.

Change-Id: I52f24038ef904e4f8ede6861b7e4a0cdcd9607b0
CRs-Fixed: 3154057
2022-04-01 06:40:21 -07:00
Pavankumar Nandeshwar
90a5ae3aaa qcacmn: Use NO_RX_PKT_HDR_TLV macro for pkt_hdr_tlv APIs
Use NO_RX_PKT_HDR_TLV macro for APIs using pkt_hdr_tlv component.

Change-Id: I62ecd95ef807d153a0b7eb11350eee26ac4d76fb
CRs-Fixed: 3159944
2022-04-01 05:10:23 -07:00
Amith Ajith
8635ab3be9 qcacmn: Fix high CAC timeouts
High CAC timeout is seen for weather and non-weather DFS channels.
This is due to the delay in 5.4 Kernel timers. There is 1 second delay
observed for every 60 seconds.

To fix this issue, replace qdf timers with HR timer for CAC timeout.
On CAC expiry, when VDEV UP is sent to FW, serialization timer is
cancelled. Since CAC expiry is processed in H/W interrupt context
(while using HR timers), no other timer cancellation is allowed.
Hence, process the CAC timer completion in work queue context to allow
other timer cancellations by the CAC thread.

Change-Id: I92c4662decbba27261448327abb16708d941d778
CRs-Fixed: 3142394
2022-03-31 05:46:49 -07:00
Hariharan Basuthkar
50c862e9a3 qcacmn: Add NULL check in reg_get_pwrmode_chan_list API
The regulatory pdev private object is used directly without a NULL pointer
check in the API reg_get_pwrmode_chan_list.

Add a NULL pointer check for the regulatory pdev private object to prevent
NULL pointer dereference.

Change-Id: If6f9daf5d88a8fb9fba1b184721ba10e96ad0e2e
CRs-Fixed: 3159429
2022-03-31 05:46:43 -07:00
Surya Prakash Raajen
e1ddefa5f2 qcacmn: Add support to get single/multi soc info
Add support to get single/multi soc info for
a mld vdev list

Change-Id: I082e1172bdfad0188944a79da9652b9ffd09290b
CRs-Fixed: 3141416
2022-03-31 03:10:07 -07:00
Lincoln Tran
15fa2d30d7 qcacmn: Fix regulatory compilation issue
Add empty definition for function in the case where the
6G feature is disabled. This fixes a compilation issue.

Change-Id: Idef12549cdfa9b3cb75b06fe04888e7c50356042
CRs-Fixed: 3162125
2022-03-30 13:43:26 -07:00
Edayilliam Jayadev
44b985cc97 qcacmn: Fix MLO global shared memory parsing
Fix issues in MLO global shared memory parsing.

CRs-Fixed: 3111721
Change-Id: Iba229e5c5176c4d1b0ad6a2a676c0cce8488a5c0
2022-03-30 10:52:25 -07:00
Edayilliam Jayadev
0481f4ea66 qcacmn: Fix mgmt Rx REO enabled check
Fix the API which checks whether management Rx reorder
feature is enabled.

CRs-Fixed: 3111715
Change-Id: I6def92eb464b9d256160129b38b1bc189459ecc4
2022-03-30 09:43:20 -07:00
Edayilliam Jayadev
f533a06345 qcacmn: Get pdev from link id and vice versa
Add infrastructure to get pdev object from MLO HW
link id and vice versa.

CRs-Fixed: 3111712
Change-Id: I581cf871e25359b914956e86b7e541fd451277d0
2022-03-30 09:43:14 -07:00
Edayilliam Jayadev
4fb043fdff qcacmn: Add pdev open handler for mgmt Rx REO
Add pdev open handler for management Rx reorder module.
This handler stores all the snapshot addresses to the pdev
private object of mgmt Rx REO module.

CRs-Fixed: 3111704
Change-Id: Iaf12b4edb568b2a32ff901ad5d0f0717b190906b
2022-03-30 09:43:08 -07:00
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
Yu Tian
d9d768bb16 qcacmn: Change feature name in Linux doc field
Change typo in linux doc field

Change-Id: I2d8acdd91bfa7e8c2ba04a3fa60b92a302d0e01b
CRs-Fixed: 3159056
2022-03-30 02:40:28 -07:00
Karthik Kantamneni
d98299184b qcacmn: Implement SWLM support for multi TX queue
Update SWLM data structures and API's to support
multi TX queue based traffic.

Change-Id: I67921a749b61b3c717f33f770095fbb4d3062e2f
CRs-Fixed: 3161165
2022-03-30 01:13:19 -07:00
Shwetha G K
73a570940f qcacmn: API for completion of MLO setup sequence
Add API to invoke call back API registered post MLO
setup sequence completion.

CRs-Fixed: 3153531
Change-Id: I16552ff46929c985ff4b7a62f47cc667fe6f132e
2022-03-29 21:56:30 -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
abbf543a9c Merge "qcacmn: Add support for max 5 number of AKMs in connect req" 2022-03-29 17:07:03 -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
Surya Prakash Sivaraj
2fa9e5cab5 qcacmn: Add support for max 5 number of AKMs in connect req
Currently, host supports max 2 number of AKMs in connect req.

Add support for max 5 number of AKMs in connect req from
userspace.

Change-Id: I889124257c374092128e92f0f1eca1e1d0711f49
CRs-Fixed: 3151412
2022-03-29 14:12:07 -07:00