Commit Graph

18720 Commits

Author SHA1 Message Date
Parikshit Gune
ba18ce8164 qcacmn: Setup DS VP on FW recovery
On FW recovery, do not allocate a new VP and use
the existing profile to setup DS VP

Change-Id: I330613fa104c51becc1018750edf91d8055edb01
CRs-Fixed: 3427382
2023-03-08 23:01:59 -08:00
Paul Zhang
f453c827cb qcacmn: handle MBSSID IE for critical update
With the MBSSID IE, it has to generate the corresponding
beacon and probe response frames. Then handle the generated
frames per critical update feature.

Change-Id: Iff3fdb3a335a98d9ed7e51957885e2f161069807
CRs-Fixed: 3376521
2023-03-08 21:10:24 -08:00
Jinwei Chen
a3d8c8606d qcacmn: Add WBM2SW ring descriptor structure symbol
Add WBM2SW ring descriptor structure symbol for KIWI,
this is helpfu for WBM2SW revelant issue debugging.

Change-Id: I81f9029ae47026f5530481b2de3c60502a15acc6
CRs-Fixed: 3427974
2023-03-08 21:10:15 -08:00
Karthik Kantamneni
84731a352a qcacmn: RHINE architecture specific HTT changes
Add HTT changes which are specific to RHINE architecture.
Some of the changes like dedicated TX endpoint service,
fastpath implementation and few other message handling
is different in RHINE. Current change add support for
RHINE specific HTT implementation.

Change-Id: I90c2d1d66cdadc5935e6b819e3f19e635c45cb51
CRs-Fixed: 3382915
2023-03-08 17:24:42 -08:00
Jinwei Chen
c2c0f7f7f9 qcacmn: Support REO2SW ring pointer update threshold configuration
Support REO2SW ring pointer update threshold configuration,
it is helpful for PCIe utilization improvement.
timer based threshold - M: issue pointer updates when M micro
seconds has elapsed.
number based threshold - N: issue pointer updates when N entries
updates occur.

Change-Id: I49ed388520fd52e97e303d6ea9c04ced6cb5cf5f
CRs-Fixed: 3420101
2023-03-08 17:24:33 -08:00
Venkateswara Naralasetty
c66b8677cf qcacmn: add new counter to fisa stats
Add a new counter inccorect_rdi to fisa stats to log incorrect reo
destination indications in fisa processing.

Change-Id: I785ad90ae1d36b2f6b9b1888373a29fcbd65348e
CRs-Fixed: 3426537
2023-03-08 14:21:24 -08:00
Sheenam Monga
9567fe0031 qcacmn: Fix reg_get_min_max_bw_on_cur_chan_list kernel doc
The kernel-doc script identified some documentation issues in
the doc of reg_get_min_max_bw_on_cur_chan_list, so fix those
issues.

Change-Id: I5f720706b8c744f39d4ad6f6dbd6e722c3d53096
CRs-Fixed: 3409405
2023-03-08 12:27:52 -08:00
Shreedhar Parande
60919a5e84 qcacmn: Add APIs to create bridge peer
Add APIs to create bridge peer. Register call
back for the same to handle bridge peer
creation.

CRs-Fixed: 3416877
Change-Id: I51d8f023576c93121e42d54243721edbf705e6b4
2023-03-08 12:27:42 -08:00
Yu Tian
3cbef591fb qcacmn: Fix napi_complete function call limitation
napi_completion could stop NAPI re-queue only if
returned budget is small than limit budget. WLAN
driver IRQ affinity change would force NAPI complete.
In some cases, RX is in busy loop, RX NAPI could be
queued to more than one CPU NAPI polling list, which
will lead system crash. This change is aimed to make
sure that returned budget is smaller than the limit.

Change-Id: I1b93596b8afc3ee09c4caeceb7a7ba98c4bed4d1
CRs-Fixed: 3420953
2023-03-08 12:27:33 -08:00
Pavankumar Nandeshwar
e93182a1b2 qcacmn: Do not allow Umac reset in DS mode
Do not send prerequisite htt message informing
support of Umac reset feature to firmware
if DS is enabled

Change-Id: I1272579a3079e126b81a3b324009f6f32c65a904
CRs-Fixed: 3425584
2023-03-08 09:29:23 -08:00
Kenvish Butani
bad3898323 qcacmn: Ini and Config command Support for MLO Link Peer Stats
Add support to enable/disable MLO Link Peer stats through
ini and cfg80211tool enable_ol stats command

Change-Id: Id1229a149befa416d060e1b07eee150e6b295abf
CRs-Fixed: 3397721
2023-03-08 07:43:00 -08:00
Kenvish Butani
4c88b99fe7 qcacmn: Add support of HW Link ID
Add support of HW Link ID in PeerMetaData.
Retrieve the HW Link ID in both Rx per packet
path and RX Error path, store it in nbuf cb.
Use the stored value from nbuf while updating
MLO peer link statistics.

Change-Id: I11596d44fe8557af568fd399d0c0a04d2b887b2a
CRs-Fixed: 3397721
2023-03-08 07:42:49 -08:00
Amrit Sahai
ee22464bee qcacmn: Add support to aggregate Link level stats
Add support to aggregate and ship MLO link stats
for ML peer.

Change-Id: Icb6c7b66d6f5c27e8a8f99655cf468e90c655ad6
CRs-Fixed: 3397721
2023-03-08 07:42:38 -08:00
Amrit Sahai
24dc3d385c qcacmn: Add Support of TX MLO Link Stats for ML Peer
Add Support to update TX per packet path, MLO Link
statistics for ML Peer.

Change-Id: If8aa5433221ecbb7d84b3f6777784524f43179a3
CRs-Fixed: 3397721
2023-03-08 07:42:28 -08:00
Kenvish Butani
7fdd918e7f qcacmn: Add Support of Rx MLO Link Stats for ML Peer
Add Support to update Rx per packet path, MLO Link
stats for ML Peer

Change-Id: Ica25993126b4ce49f9e36b7b290d9887e4885155
CRs-Fixed: 3397721
2023-03-08 07:42:17 -08:00
Kenvish Butani
3243b9e4f4 qcacmn: Add Support of Rx Err MLO Link Stats for ML Peer
Add Support to update Rx Error path, MLO Link stats
for ML Peer

Change-Id: Ie5000d0d30a41fa69c86259bae0fd7a8094bddf7
CRs-Fixed: 3397721
2023-03-08 07:42:07 -08:00
Kenvish Butani
4ae60e4df1 qcacmn: Add Support of MLO Link Stats for ML Peer
1) Allocation of memory to hold MLO Link Stats
   at MLD Peer level.
2) Modify the Macros to update MLO link stats.
3) Init and reset the Stats

Change-Id: Id4e9d40e212c5093159ae0c7d6316e93d19cf928
CRs-Fixed: 3397721
2023-03-08 07:41:57 -08:00
jinbao liu
ff32a66fd5 qcacmn: Fix redundant moving the TP in the REO DST RING
In RX process, driver reaps the data in the REO DST RING
by successively move the tail pointer. The problem is
that driver will move the tail pointer twice if something
wrong happens, like sanity check, which will lead to the
miss of an entry next to the abnormal entry. This issue
has existed for a long time due to the code refactoring.

Change-Id: I2c5d402f81090497a4414efbf6e7e79130ba11f5
CRs-Fixed: 3426707
2023-03-08 05:59:29 -08:00
Rohan Dutta
b606c4ad39 qcacmn: Add support for AKM25
Add support for AKM FT_SAE_EXT (00:0f:ac:25)

Change-Id: Iae9fbfbc0989e0bcac343c1814ad4a442243e8f4
CRs-Fixed: 3408695
2023-03-08 04:19:12 -08:00
Shivam Kumar
f2fe886cd6 qcacmn: Add pre rx ack timeout support for wmi
Add pre rx ack timeout support for wmi

Change-Id: I3e497e76f8e64867a3d40b8d9421bb474fe865d3
CRs-Fixed: 3406368
2023-03-08 02:30:47 -08:00
Pooja T C
7af90e2d6b qcacmn: Add support for wmi command for standalone sounding
Added an API to send wmi command for standalone sounding

Change-Id: I3d7d8b6e67005b451e84c1875fd0d2cecacd8b7b
CRs-Fixed: 3415627
2023-03-08 02:30:37 -08:00
Jeff Johnson
04d130b0a6 qcacmn: Fix target_if/cfr documentation
The kernel-doc script identified documentation issues in the
target_if/cfr folder, so fix them.

Change-Id: I5af96dbc3b6adcd369134422dd2f9e5a6be799e9
CRs-Fixed: 3417466
2023-03-08 00:45:10 -08:00
Jianmin Zhu
b2e038a217 qcacmn: Fix mlo assoc vdev disconnect before link dev issue
Assoc dev disconnect happened before link vdev for following sequence
1) SB disconnect followed by NB disconnect.
2) SB disconnect queue disconnect on both link and assoc same time.
3) NB disconnect queue link disconnect first and wait for it to complete.

Fix in mlo_sync_disconnect by using sync API only for assoc vdev, for link
vdevs, let the non-sync API post the disconnect, thus all disconnect goes
in 1 instance and wait for assoc disconnect (last) to complete, similar to
SB disconnect.
With this both vdev1 and vdev0 disconnect will be queued at same time, thus
maintain the sequence.

Also optimize the wait time of the assoc vdev in
cm_disconnect_start_req_sync, to include all link disconnect time as well
(DISCONNECT_TIMEOUT * 2 + 5000).

Flush old disconnect only for non-MLO and assoc link, do not flush for link
vdev.

Change-Id: Ibaf4051d6e06a8e8354571e87883ac72b6ac07f0
CRs-Fixed: 3420508
2023-03-08 00:45:01 -08:00
Jeff Johnson
3953ced714 qcacmn: Fix dp_internal.h documentation
During code review it was observed that dp_internal.h has several
documentation blocks that are not correctly using the kernel-doc
opening comment mark /**, so fix them.

Change-Id: Ib2f22fe1162711f1589bc829e988e202c9524d5d
CRs-Fixed: 3421603
2023-03-08 00:44:52 -08:00
Rhythm Patwa
cd8d3308ab qcacmn: Update the T2LM WMI send API to new definition
Make changes to send the T2LM info present flag in the
WMI send function for T2LM WMI cmd.

Change-Id: I3642b2d89bb597f393f31d4b34e29adaf686fff4
CRs-Fixed: 3422686
2023-03-07 21:05:22 -08:00
Rhythm Patwa
db04e08c9a qcacmn: Make changes for updating Link qualifier parameters
1. Make changes to selectively send the Link control WMI to the
   FW with out including the T2LM TLV.

2. Modify the TLV definitions for Link preference to use the newer
   Link control TLV.

Change-Id: Id8beae8376ee5d2fb3434367530a0a6bb976597d
CRs-Fixed: 3422692
2023-03-07 21:05:12 -08:00
Jeff Johnson
53deac6358 qcacmn: Remove pktlog.h include
The header file pktlog.h is a legacy remnant that doesn't provide any
value, so remove the unnecessary #include. This is a precursor to
removing the actual file.

Change-Id: I3f57b6fce39f0adebf5350badb59ce80f15db7e3
CRs-Fixed: 3420936
2023-03-07 21:05:01 -08:00
Rhythm Patwa
aa8703f473 qcacmn: Add support to find ML peer from MLD MAC
Add API to retrieve ML peer context using peer MLD address
from the list of MLDs.

Change-Id: I7136e6b9cbcc96e897457c01c187965978e85d77
CRs-Fixed: 3422684
2023-03-07 21:04:52 -08:00
Liangwei Dong
1bce26bfca qcacmn: Add pdev param map for WMI_PDEV_PARAM_SET_CONC_LOW_LATENCY_MODE
Add pdev param id for WMI_PDEV_PARAM_SET_CONC_LOW_LATENCY_MODE.

Change-Id: I860bd1bd22b007a2d67b40baa27af175cd838c2a
CRs-Fixed: 3411226
2023-03-07 16:39:47 -08:00
Jeff Johnson
abbb3f3b9d qcacmn: Fix target_if/spectral documentation
The kernel-doc script identified documentation issues in the
target_if/spectral folder, so fix them.

Change-Id: I0bb7d3632fd602450713d8521861d246ea5f33df
CRs-Fixed: 3417470
2023-03-07 14:49:59 -08:00
nobelj
daa0ae6a5d qcacmn: Modify tx monitor mode change log level
Modified tx monitor mode change log level.

Change-Id: I97233c4c4c86c3af887ccb86b9de4f9174e469df
CRs-Fixed: 3409912
2023-03-07 14:49:50 -08:00
nobelj
85c8196528 qcacmn: Add support for tx monitor word mask compaction
Add support for tx monitor word mask compaction.
a. define word mask compaction structure
b. generalized function for compaction structure.

Change-Id: I508b6beca7e5da28377b31c754344c07a0abd438
CRs-Fixed: 3420593
2023-03-07 14:49:41 -08:00
Jeff Johnson
ad2ba39a28 qcacmn: Fix target_if documentation
The kernel-doc script identified multiple documentation issues in the
target_if folder. Some sub-folders which had a multitude of issues
were patched individually. Now fix the remaining issues.

Change-Id: Ia46f54eaec90762e61e590344760f3c3364088de
CRs-Fixed: 3417471
2023-03-07 09:33:26 -08:00
Karthik Kantamneni
29eb537def qcacmn: DP changes to add new RHINE arch specific files
This change introduces new RHINE architecture specific DP files.
RHINE is new SOFTUMAC based architecture, unlike LI/BE targets
all the HW UMAC functionality will be replaced with software base
UMAC functionality. So current RHINE arch specific implementation
is aligned to softumac based implementation.

Change-Id: I70baf11130afc07c5c85437d2343d0976ce0ea0a
CRs-Fixed: 3382880
2023-03-07 07:51:34 -08:00
Jeff Johnson
045d6e4e78 qcacmn: Fix target_if/init_deinit documentation
The kernel-doc script identified documentation issues in the
target_if/init_deinit folder, so fix them.

Change-Id: Ie2ddb73072629b0b1a110b8073443f312fa27a16
CRs-Fixed: 3417468
2023-03-07 03:20:27 -08:00
Jeff Johnson
bc5d273b9e qcacmn: Fix target_if/regulatory documentation
The kernel-doc script identified doucmentation issues in the
target_if/regulatory folder, so fix them.

Change-Id: I4c4cb774318153f672b9fddf651fa711e100f19a
CRs-Fixed: 3417469
2023-03-07 03:20:18 -08:00
Himanshu Batra
2c0ca85f39 qcacmn: Add API to fetch ml_peer_valid field from skb cb
Add API to fetch ml_peer_valid field from skb cb

Change-Id: Ic2bdc8dd2ae03dad6f0234920c1312f234bc4339
CRs-Fixed: 3423453
2023-03-06 23:32:57 -08:00
Hariharan Basuthkar
9af22d0f7b qcacmn: Send AFC power update event during AFC power event failure
When the target indicates a non-success status in the fw_status_code
as part of the AFC power event, the control is exited from
reg_process_afc_power_event without updating the super_chan_list,
and sending the AFC power update complete event.

Therefore, send AFC power update complete event during AFC power
event failure.

Change-Id: Iab3a73955cf6df8d999122f1ef36bf249e86d3bb
CRs-Fixed: 3298839
2023-03-06 23:32:47 -08:00
Srinivas Pitla
76dd8f5ce7 qcacmn: Fix issue in num PSOC counter
This change adds missing increment for num_psoc in
primary umac selection algorithm

Change-Id: If9b3870b6c3d3e05b12af1897a4e238fc2ef687f
CRs-Fixed: 3404121
2023-03-06 21:52:06 -08:00
Sreeramya Soratkal
0186178b04 qcacmn: Update number of links for MLO
To support MLO on 4 links, update the maximum number of links that
can participate in MLO to 4.

CRs-Fixed: 3412356
Change-Id: I4e5c74e856be1b4850cc62b9700b65d3311b9b7f
2023-03-06 21:51:56 -08:00
Namita Nair
cb79729a9b qcacmn: Fix spelling of ipa_ctxt
Fix spelling of ipa_ctx to ipa_ctxt.

Change-Id: I87b00c64039078e17744f90fd865b5d034755ea4
CRs-Fixed: 3423178
2023-03-06 20:22:06 -08:00
Shashikala Prabhu
3634b11018 qcacmn: Add H2T command to trigger MLO UMAC reset
Add H2T command to trigger MLO UMAC reset for the given SOCs.

Change-Id: Ic205c7eb5c401006a03628c1e591ef5833459516
CRs-Fixed: 3416804
2023-03-06 16:00:37 -08:00
Qun Zhang
2062f18a70 qcacmn: Extend throttle level to THROTTLE_LEVEL_5
Currently legacy thermal throttle level can support to
THROTTLE_LEVEL_3 at the most. Per new thermal mitigation
requirement, it's needed to add extra implementation
for TX off processing and target shutdown. So extend
throttle level to THROTTLE_LEVEL_5.

Change-Id: I87c583d2828572605ea91a6ac318a58f20054028
CRs-Fixed: 3413666
2023-03-06 11:42:31 -08:00
Harsh Kumar Bijlani
ef49de7005 qcacmn: Consider TID from skb mark even when tid_override is enabled
Consider TID from skb mark when tid_override is enabled along
with SAWF.

Change-Id: I2d1b55017f7c1de6fa3305aa903b8a97edca501c
CRs-Fixed: 3421733
2023-03-06 11:42:22 -08:00
Divyajyothi Goparaju
2aae10f314 qcacmn: Add wmi_vdev_param_set_sap_ps_with_twt
As part of 'SAP PS with TWT enabled' new
requirement add new vdev set param
wmi_vdev_param_set_sap_ps_with_twt to map host vdev
param with firmware interface new vdev set param
WMI_VDEV_PARAM_SET_SAP_PS_WITH_TWT.

Change-Id: Ia8b45ddb35657e0293cda5821b8ddc92bf68bccc
CRs-Fixed: 3421621
2023-03-06 11:42:13 -08:00
Divyajyothi Goparaju
54beaf787e qcacmn: Replace callers of reg_set_channel_params_for_freq
Replace all callers of reg_set_channel_params_for_freq
with new api reg_set_chan_params_for_pwrmode

Change-Id: Ifefb8e0a2e9dc2dde5360f90b6c129573dfaddc1
CRs-Fixed: 3144601
2023-03-06 00:19:30 -08:00
Shashikala Prabhu
4ed5695ef3 qcacmn: Add NULL check for MLO dev context
MLO dev context is accessed without NULL check.
Add NULL check before accessing the MLO dev context.

Change-Id: I51d672924dbbf70cbf4b7e4951a3a45d4fd551ec
CRs-Fixed: 3409901
2023-03-05 21:52:13 -08:00
Krunalsinh Padhar
6d5fea01f7 qcacmn: Selective peer discon during non-DFS to DFS
Disconnect only non ML peers in CSA from non-DFS channel to DFS channel,
while keeping all MLO peers connected.

Change-Id: I7e8347cf4692b16b84ffbce4b102dd2f23bb70f0
CRs-Fixed: 3394219
2023-03-05 11:23:00 -08:00
Priyadarshnee Srinivasan
62c9261e5f qcacmn: Coalesce the frequency ranges of AFC payload
To mark a 20 MHz standard power channel (chan X) as AFC done, we check
if X's range is a subset of a AFC frequency object payload (say Y).
If X is not a subset of Y, chan X is marked as "AFC not done" and is
disabled in the regulatory's AFC channel list.

However, it is possible that channel X's range is split across various
frequency objects of the AFC payload. The current algorithm does not
coalesce the adjacent frequency object payload so that X becomes a
subset. This change aims to coalesce the AFC payload as and when needed.

If the frequency ranges of the AFC payload are sliced and the
PSD power of a 20 MHz channel is split across multiple frequency ranges
in the AFC payload, coalesce the frequency ranges to form a single
range that can fit channel X so that the PSD power can be fetched.
The coalesced PSD power will be minimum PSD power of the frequency
ranges where coalescing is done.
If coalescing is not required, pick the PSD power from AFC payload
directly.

CRs-Fixed: 3387610
Change-Id: Ib358028a6842cb6644eaae2964738d391a5dd763
2023-03-05 04:52:27 -08:00
Jeff Johnson
6293eca555 qcacmn: Fix misspelling "ponirt"
Fix misspelling in wmi/src/wmi_unified_tlv.c:
"ponirt" => "pointer"

Change-Id: Ic9f552a98978a5af35b521f551491d874f03a401
CRs-Fixed: 3417374
2023-03-04 19:11:35 -08:00