Commit Graph

16917 Commits

Author SHA1 Message Date
Aravind Kishore Sukla
a080cd6ace qcacmn: Incorrect FW enum to Host enum conversion
Roam result failure enum is not properly converted to
corresponding Host enum.

Change-Id: I8c521ef02a8673d6a601b39cf291dd839e27f514
CRs-Fixed: 3188826
2022-05-24 09:39:00 -07:00
Namita Nair
a2e032111d qcacmn: Add htt stats for SU puncturing mode
Add support to display tx/rx htt stats
related to SU Puncturing. The new stats
are su_punctured_modes, bw_ext
and mcs_ext_2.

Change-Id: I0260f7ea5fffa9206fff1052ef18b414c5de384b
CRs-Fixed: 3198040
2022-05-23 20:26:16 -07:00
Jeevan Kukkalli
660a0d7e2c qcacmn: Add stats to count mpdu dropped due to ppdu id mismatch
During frequent channel changes in corner case we observe
that mpdu ppdu id does not match dest ring curring ppdu id.
Such mpdus are dropped. Add stats to count such dropped mpdus.

Change-Id: If52e81f4e718ce0d7f83a41f4f0121394525b9df
CRs-Fixed: 3144784
2022-05-20 14:21:26 -07:00
Surya Prakash Raajen
ff354463a5 qcacmn: Check mld ctx info first and then print debug info
Check mld ctx info first and then print the debug info
for teardown request with num socs and num links.

Change-Id: Ib37ce76955e2b83aaa5ecec08010f05e293c2a19
CRs-Fixed: 3200920
2022-05-20 07:38:15 -07:00
Prakash Manjunathappa
1c82895c18 qcacmn: 512BA: Increase rxdma_buf ring size
RXDMA BUF RING: MAX: 4K configurable by INI.dp_rxdma_buf_ring

Change-Id: I44403736327b264e8eeb551ad7e4a3d86b4749f9
CRs-Fixed: 3196543
2022-05-20 03:14:54 -07:00
Kai Chen
af1de590e0 qcacmn: AFC device deployment type support
Fix compilation issue for adding AFC regulatory target
interface to support AFC device deployment

Change-Id: Ie9447873442e94614f44eb7468b76143b0f2dda3
CRs-Fixed: 3195809
2022-05-19 10:50:37 -07:00
Himanshu Batra
61d0aa9de0 qcacmn: Add wmi support to get link airtime usage stats
Add wmi support to get link airtime usage stats

Change-Id: Ie23c980de1178a7293eca19b3576da86d6318d21
CRs-Fixed: 3199400
2022-05-19 08:06:42 -07:00
Sai Rupesh Chevuru
c1f2908102 qcacmn: Fix the tx desc buf leak issue
Fix the tx desc and mcuc buffer leak issue in case of
hw enqueue failure with ME5 enabled.

Change-Id: Ibd8f924e66a9d828940c6f599584763f1dfc59a6
CRs-Fixed: 3194095
2022-05-19 05:06:08 -07:00
Himanshu Batra
05072ad2c0 qcacmn: Add fix to release ml dev lock in case of failure
Add fix to release ml dev lock in case of failure.
Also add null check for assoc vdev

Change-Id: I5f81217b32d676b556030b504476bf4e3c92b718
CRs-Fixed: 3199710
2022-05-19 01:57:42 -07:00
sandhu
654ea2aefe qcacmn: Add ini value for fisa rx lru del enable
Add ini value to enable disable lru del enable/disable.

Change-Id: I61e967a1f0939515177edc79415397e16b55d774
CRs-Fixed: 3160268
2022-05-19 01:57:36 -07:00
Basamma Yakkanahalli
a684d24bfe qcacmn: Critical update signaling for beacon
Critical update is the explicit signaling for STA to notify
any change in BSS param.

There are two categories of critical update params.
Category 1 elements:  CSA, ECSA, Quiet, Quiet channel,
            Max Ch Switch Time, that are directly included in
            the per-STA profile of partner AP.
Category 2 elements: Except category 1 all operational IEs
           HT/VHT/HE/EHT and WMM/EDCA/MUEDCA params.

Defined below vdev flags to track change in Category 1 and
Category 2 CU params per ML VDEV
WLAN_VDEV_OP_CU_CAT1: Change in category 1 param
WLAN_VDEV_OP_CU_CAT2: Change in category 2 param

Host notify to FW by updating current link CU param in
wmi_bcn_tmpl_ml_info TLV of BCN TMPL CMD.
Set the corresponding cu_vdev_map category 1 / category 2
based on change in critical update params of ML VDEV.

Change-Id: I8fe71309ab92a459524bdc5739f8b4a4a545562e
CRs-Fixed: 3199331
2022-05-19 01:57:30 -07:00
Rakesh Pillai
68f96a8c79 qcacmn: Add support to send Shadow config v3
Shadow config v2 can support max of 36 shadow
registers only. For KIWI target, there are 40
shadow registers supported.

Hence add support to send shadow config v3
for KIWI.

Change-Id: If57e6597397da3e239f25a6c0cc24f8fd37dcdf1
CRs-Fixed: 3167758
2022-05-19 01:57:23 -07:00
nobelj
ba3853e95f qcacmn: Add fix for tx monitor double free and other minor fixes
Add fix for tx monitor double free and other minor fixes like updating
channel frequency and channel number if it wasn't fetched properly,
fetch protection address only if it is valid.

Change-Id: I184e08080a47b903176b9df0a192f0b5eb0b2750
CRs-Fixed: 3184727
2022-05-19 00:20:12 -07:00
Rajeev Kumar
fd2ba9f34e qcacmn: Log qmi event id in hex for easier debugging
Log wmi event id received in QMI stats response in hex for
easier debugging.

Change-Id: I7812f6aa31ccaa8c186679cac49e7a0a192ac7f5
CRs-Fixed: 3199171
2022-05-18 23:01:53 -07:00
David Oladunjoye
a95ed8ed3c qcacmn: Add back port flag for SA Query Offload support
Need to indicate which Linux Kernel contains support for this feature.
Add logic to set back port flag based on linux kernel version.

Change-Id: Icea20b82c0d6c2d546711214c5b268bee864fc72
CRs-Fixed: 3194602
2022-05-18 19:13:53 -07:00
David Oladunjoye
fba8e37abf qcacmn: Add back port flag for 11be support
Add logic to set back port flag based on linux kernel version.

Change-Id: I2c5fc424e28fb92185df78a2046874b1dd85c436
CRs-Fixed: 3187773
2022-05-18 19:13:41 -07:00
Manoj Ekbote
298e39a2e2 qcacmn: Re-organize TWT session stats event handling
Re-arrange code for registration and handling of TWT session
event.

Change-Id: I0b4388a3d85cb387c2f5160fc13bbedb1d246da3
CRs-Fixed: 3150694
2022-05-18 14:31:39 -07:00
Edayilliam Jayadev
4ecc42ea2a qcacmn: Handle mgmt Rx REO packet counter delta
Under back pressure scenarios, FW may drop management Rx frame
WMI events. So holes in the management packet counter is
expected. Handle the packet counter holes at host.

CRs-Fixed: 3194294
Change-Id: Idf99f98701844fbb24f2114eb43130158676ca81
2022-05-18 10:32:45 -07:00
Edayilliam Jayadev
712e32dff0 qcacmn: Fix memory leak in management frame logging
Fix memory leak in ingress/egress management frame logging in
management Rx reorder module.

CRs-Fixed: 3194475
Change-Id: Ida19fe70dcfb456c8562753d490f6f53e26c68fe
2022-05-18 10:32:37 -07:00
Amith Ajith
29f49a3c4c qcacmn: Init super chan list for current power mode
When CBS scan is performed, 6 GHz channels are observed to be added to the
ACS report of 2.4 GHz & 5 GHz. This is because api reg_is_freq_idx_enabled
is iterating the complete cur chan list and it is found to be returning
true for 6 GHz channels when 2.4 GHz and 5 GHz radios are considered. In
radios that are not 6 GHz, the state of 6 GHz channels are checked in
super channel list. But for REG_CURRENT_PWR_MODE, the channel disabled
flag is not set for 6 GHz channels during super chan init. This is
resulting in the incorrect validation at reg_is_freq_idx_enabled.

In reg_init_super_chan_entry, start the iteration of disabling the chan
flags from REG_CURRENT_PWR_MODE instead of REG_AP_LPI.

Change-Id: Ide6aa667b75a37e19e0ac28bfd01786608cd8985
CRs-Fixed: 3176952
2022-05-18 09:02:05 -07:00
Jyoti Kumari
02f2ffb93a qcacmn: Skip STA scan on 6Ghz or 5ghz indoor chan if SAP is up
Currently STA can scan and come up on 6Ghz or indoor channel if
hardware is non-dbs and SAP is present

As part of this change, do not allow STA to scan on 6Ghz or
5Ghz indoor channel for non-dbs hardware if SAP is present

Change-Id: I97759f8b2c6a1c460d90fbb797a0e64d2532797c
CRs-Fixed: 3186406
2022-05-18 05:21:06 -07:00
Ripan Deuri
b434bd1dc2 qcacmn: delta tsf calculation based on use_tqm_timer flag
Add WMI parameters to support delta tsf calculation based on the
use_tqm_timer flag.

Change-Id: I6346f0b661bdede56874f4589f4dcc4d8b95c439
CRs-Fixed: 3193329
2022-05-18 05:21:00 -07:00
Abhishek Singh
ba4e301f48 qcacmn: Handle mlo_force_link_inactive in ml peer assoc flags
Handle mlo_force_link_inactive in ml peer assoc flags.

Change-Id: Ic72c42401b03cfbd5b97fafec72d45d47ab787ea
CRs-Fixed: 3192730
2022-05-18 01:40:47 -07:00
Chaithanya Garrepalli
7b23a8ac53 qcacmn: Change max Rx refill ring size to 8192
Increase max value of Rx refill ring size that
can be configured via ini to 8192

Change-Id: I5180996181e43d26221e0106488eda86cf711e1c
CRs-Fixed: 3198408
2022-05-17 16:45:10 -07:00
Kai Liu
15162bf6bd qcacmn: Use default seek for athdiag lseek
Kernel change d4455fa ''proc: mandate ->proc_lseek in "struct proc_ops"'
by default use proc_lseek for file operations, so add default_llseek
for athdiag ops to avoid crash.

Change-Id: I9a36193f8eab44dd619e0c51ccc1f145969027eb
CRs-Fixed: 3197004
2022-05-17 16:45:02 -07:00
Chaithanya Garrepalli
cdbc3c0f76 qcacmn: Fix batch invalidate issue in ring WRAP around case
In ring WRAP around case invalidate the descriptors which
are being reaped

Also use no_dsb invalidate API for invalidate descriptors

Change-Id: Iafa844c81a8364af31520ce5fa3e030073e7c706
CRs-Fixed: 3198373
2022-05-17 16:44:56 -07:00
Jinwei Chen
15a9ac983c qcacmn: Support 1K BA window size for KIWI
Support 1K BA window size for KIWI

Change-Id: I9912524ebc3afc0a2a7e53f5849f5c2c881a10f4
CRs-Fixed: 3181140
2022-05-17 15:16:25 -07:00
Prakash Manjunathappa
017ad75e08 qcacmn: Set per_tid_basize_max_tid so that BA size is configured per TID
Set per_tid_basize_max_tid so that BA size is configured per TID.
Accordingly fix dp_check_ba_buffersize to ba_window_size to incoming
buffer_size. Assert for any BA window size above 1024.

Change-Id: I40cb2aac012c50e253c3ef22d44cf5db3abfb7bb
CRs-Fixed: 3182601
2022-05-17 13:50:32 -07:00
Gyanranjan Hazarika
f00cc9f71a qcacmn: Header file change to support MLO-RNR requirement
1. MLO requires a tbtt_info length of 16 octets. To support
16 MLDs, it requires to extend the current global_rnr cache
accommodating this new requirement in 11be MLO context.

Redefine MAX_RNR_SIZE accordingly.

2. Currently, scan-module is considering only upto 5 reported
APs in a RNR element. This will be ok pre-11be as the RNR info
is not used for connection. RNR info is required for link to
vdev matching for MLO based connection starting 11be. So, the
limit specified by MAX_RNR_BSS needs to be extended to be able
to parse upto 16 tbtt_infos from the RNR elements present in
beacon or probe-response. Some APs can advertise upto 16 co-
MLDs when 6Ghz link is involved in those MLDs.

CRs-Fixed: 3191537
Change-Id: Iff532f7ea4f0ebf21947e24edbfa1f28d2d92af3
2022-05-17 13:50:26 -07:00
Edayilliam Jayadev
b9b4ef40c2 qcacmn: Add management Rx REO debug APIs
Add debug APIs in management Rx REO module.

CRs-Fixed: 3194240
Change-Id: I022d47f4c3db276404f859cda57ce3640805ebdb
2022-05-17 10:43:23 -07:00
Vignesh U
e22d6a62b8 qcacmn: Update array boundary checks for regulatory API
The regulatory API reg_freq_to_chan_for_chlist()  uses num_chans as the
bound to access the array chan_list. While an invalid index INVALID_CHANNEL
is prevented from accessing chan_list, values that are greater than
NUM_CHANNELS are not prevented from accessing the array.

Prevent access to the array when the index is greater than NUM_CHANNELS.
Since INVALID_CHANNEL is also greater than NUM_CHANNELS, the existing
condition that prevents access to the array when num_chans is
INVALID_CHANNEL can be removed.

Change-Id: I8b9793b84fc5b3a9406389fd3482673dd4667cfc
CRs-Fixed: 3196165
2022-05-17 05:54:32 -07:00
Hariharan Basuthkar
1e745ce16a qcacmn: Initialize eirp and psd in reg_get_eirp_for_non_sp
Initialize eirp and psd in reg_get_eirp_for_non_sp to fix WHUNT failure.

Change-Id: Id2f9ca8b658648dd50d47647270ac05fd5f330c9
CRs-Fixed: 3196444
2022-05-17 00:48:54 -07:00
Subrat Dash
46d50239e8 qcacmn: Microsecond time stamping for hw tx latency stats
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.

Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
2022-05-16 17:18:48 -07:00
Linux Build Service Account
9252e0364d Merge "qcacmn: qdf: Add QDF module ID for DP SAWF" 2022-05-16 08:10:56 -07:00
Gerrit - the friendly Code Review server
9fa96009df Merge changes into wlan-cmn.driver.lnx.2.0 2022-05-16 07:59:24 -07:00
Ripan Deuri
75f4f36ba3 qcacmn: qdf: Add QDF module ID for DP SAWF
Add QDF module ID for DP SAWF.

Change-Id: I461e8f7f12d36b649c807d78d26f50d63d8b6a4d
CRs-Fixed: 3195161
2022-05-16 05:49:24 -07:00
Edayilliam Jayadev
2da6d3df11 qcacmn: Bypass management Rx reorder if the number of MLO vdevs is zero
Bypass management Rx reorder if the number of MLO vdevs the
given pdev is zero.

CRs-Fixed: 3194267
Change-Id: Ia286999fdf99bb2b77008c31dfb3a52731cd5167
2022-05-16 03:50:15 -07:00
Edayilliam Jayadev
e2ceb89b48 qcacmn: Change the order of reading mgmt Rx REO snapshots
Change the order of reading management Rx REO snapshots.

CRs-Fixed: 3193845
Change-Id: I55b9d49f9a1693ae01d88430552d202f55d006f1
2022-05-16 03:50:09 -07:00
Edayilliam Jayadev
bcc93ce051 qcacmn: Increase read retry limit for mgmt Rx REO
Increase the retry limit for reading management Rx reorder
snapshots.

CRs-Fixed: 3193277
Change-Id: I4474e4be5d15a0c5bd4d0c613b314950ddb26c6f
2022-05-16 03:50:02 -07:00
Harsh Kumar Bijlani
bf750e0364 qcacmn: Update peer_id with link peer_id in Rx monitor path for MLO
With MLO enabled, Rx monitor receives the sw_peer_id in the following
format in MPDU_START_TLV:
+---------------------------------------------------------------------+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---------------------------------------------------------------------+
| CHIP ID | ML |                     PEER ID                          |
+---------------------------------------------------------------------+

For MLO station, sw_peer_id received in MPDU_START_TLV corresponds
to MLD peer. But for Rx monitor framework, link peer makes relevance.

Therefore, fetch and update the sw_peer_id with link peer_id in the
received ppdu in Rx monitor.

Change-Id: I8ffc32856fd364edbcec2d98c3f9e1f0643d40d1
CRs-Fixed: 3190668
2022-05-16 03:49:56 -07:00
Madhvapathi Sriram
1469515e43 qcacmn: Extend QCA_NL80211_VENDOR_SUBCMD_PEER_FLUSH_PENDING
Extend the peer queue flush command with following attributes
1. Enable to flush per TID peer queue
2. Enable to configure when to flush the peer/TID queue

Change-Id: I1c8a9ca82cdfdd67eaf69b73a8a7076ca9c02dab
CRs-Fixed: 3130761
2022-05-15 23:00:28 -07:00
Liangwei Dong
28ceb47c1d qcacmn: populate num_max_active_vdev in WMI init
Set num_max_active_vdevs to WMI init command and
extract it from WMI ready event.

Change-Id: I6d6377c03214fcab74c675839f136301ebf27834
CRs-Fixed: 3183010
2022-05-15 20:51:00 -07:00
Shashikala Prabhu
e8e9381db1 qcacmn: Correct the TID-to-link mapping debug print
Correct the TID-to-link mapping debug print.

Change-Id: I625c646f0747583be6809180ca195c6ba154d9cd
CRs-Fixed: 3196565
2022-05-15 11:29:50 -07:00
Aditya Kodukula
16c15a6499 qcacmn: Add support for MLO stats
As part of MLO stats feature, add support to send ll_stats
and get_station stats request to firmware for all the MLO vdevs.

Change-Id: Ic50a6294f868f0604d4cfc0d4b657b6085da2fb4
CRs-Fixed: 3181020
2022-05-14 03:35:17 -07:00
Sai Rupesh Chevuru
7e099c5668 qcacmn: Add new MOD_ID for reinjected packets
Add new module id DP_MOD_ID_REINJECT for reinjected packets.

Change-Id: Ieae5a878d7b3084b32f6b7e6eb6c2bbd4a246480
CRs-Fixed: 3192306
2022-05-13 14:37:31 -07:00
Yeshwanth Sriram Guntuka
c18a9b4699 qcacmn: Modify CE4 flag in host CE config for LI and BE targets
Modify CE4 flag in host configuration to support enablement of
copy completion interrupt for Lithium and Beryllium based
targets.

Change-Id: I71ccbaec9707dad59bcb2ee98919285a22eef351
CRs-Fixed: 3195349
2022-05-13 04:21:00 -07:00
Surya Prakash Sivaraj
7f57fa1bd9 qcacmn: Add sta_sap_scc_on_indoor_channel var to psoc/pdev
Add the variable sta_sap_scc_on_indoor_channel in
psoc and pdev reg objmgr, to access the INI value of
sta_sap_scc_on_indoor_chan

Change-Id: Ie0c41d75d0f617274743f5196e65dab93414b7eb
CRs-Fixed: 3191788
2022-05-13 04:20:54 -07:00
Surabhi Vishnoi
ecaa0f1f6c qcacmn: Allow rx UDP packets during roaming before peer map is received
In VoIP cases, no or minimal packet drop is expected during
roaming. Currently, data packets are dropped in host if they
are received after roam sync indication from firmware and before
peer map indication is received due to invalid peer.
This change allows rx UDP data packets during roaming before
peer map indication is received from FW if peer's auth_status
received in roam_sync_indication from FW is authorised.

Change-Id: Ic518b7cd0aef48a2b0f8c923a2e20838b07f3d1f
CRs-Fixed: 3168603
2022-05-12 23:34:21 -07:00
Ruben Columbus
5ad83e6c56 qcacmn: new handler for pf tags
add tags straight from ppdu_info to headrom for mpdu
tags are positioned per msdu_index within mpdu headroom.

Change-Id: I4863a7929ffd2e0a5d7f91f31ab6059f2b882de4
CRs-Fixed: 3183692
2022-05-12 11:54:26 -07:00
Jithender Miryala
dccc154314 qcacmn: Replace qdf timers with HR timer for preCAC timeout
Replace qdf timers with HR timer for pre CAC timeout and process
the preCAC completion work in workqueuecontext.

Since preCAC expiry is processed in H/W interrupt context
(while using HR timers), no other timer cancellation is allowed
('qdf_hrtimer_cancel' function will wait for the handler finish)

But if we  process the preCAC timer completion work in H/W context,
other timer cancellation will take time. To fix this, process the
preCAC completion work in workqueue context to allow other timer
cancellation.

CRs-Fixed: 3185213
Change-Id: Iaa24055e0d485f613e16d6110d22002fecf10821
2022-05-12 06:52:57 -07:00