提交線圖

125 次程式碼提交

作者 SHA1 備註 日期
Ruben Columbus
dcfc490267 qcacmn: debug and reset functionality for monitor
monitor reset functionality when bkpressure is seen.
debug logs added to inspect monitor ring in case of bp.

Change-Id: I8e79f97b315653f302da087ea8d82362ba02723d
CRs-Fixed: 3542923
2023-09-03 10:42:07 -07:00
Amir Patel
dd839c2135 qcacmn: Fix compilation issues
Fix compilation issues when below macro are undefined
a) WLAN_PKT_CAPTURE_TX_2_0
b) WLAN_TX_PKT_CAPTURE_ENH_BE
c) BE_PKTLOG_SUPPORT
d) DP_RX_MOM_MEM_FRAG.

CRs-Fixed: 3571652
Change-Id: I066ace0b51fd628d31b2d7161765bf9d0c405549
2023-08-31 18:36:29 -07:00
Adwait Nayak
7ce350b5a0 qcacmn: Do not enable word compaction for pktlog
Recently, Word compaction is by default enabled as part
of all monitor mode realated features. Due to which, while
parsing the pktlog data, multiple TLV parsing errors are seen.
Hence, with this change word compaction is disabled if pktlog
is enabled.

Change-Id: I35153f74da2de5978b225ced7f8c1112f3aff3b2
CRs-Fixed: 3551975
2023-08-15 17:52:45 -07:00
Balaji Pothunoori
4bc335300f qcacmn: Fix compilation errors
dp_htt_process_smu_ppdu_stats_tlv API is defined inside
QCA_ENHANCED_STATS_SUPPORT along with WLAN_FEATURE_PKT_CAPTURE_V2
protection but API is called with WLAN_FEATURE_PKT_CAPTURE_V2.

There is a compilation error
a. if WLAN_FEATURE_PKT_CAPTURE_V2 is defined and if
QCA_ENHANCED_STATS_SUPPORT is not set.
b. if REMOVE_PKT_LOG and WLAN_FEATURE_PKT_CAPTURE_V2 is set.

This change is to move dp_htt_process_smu_ppdu_stats_tlv
out of QCA_ENHANCED_STATS_SUPPORT and add WLAN_FEATURE_PKT_CAPTURE_V2
protection to avoid compilation errors.

Change-Id: I50093ede0530afa34f501210e5a53fa88e61d863
CRs-Fixed: 3528736
2023-06-20 06:39:09 -07:00
Venkateswara Naralasetty
39ed82e609 qcacmn: qcacmn: Add Monitor 1.0 support for WCN6450
Currently in monitor mode, links are released to WBM through the
SW2WBM_RELEASE ring and WBM will feed the links back to RXDMA
through the WBM2RXDMA_LINK_RING.

WCN6450 uses SOFTUMAC architecture where WBM is not present.
Hence the WBM2RXDMA_LINK_RING is repurposed to SW2RXDMA_LINK_RING
where host will directly release the links to RXDMA using this ring.

Change-Id: I110f607e38c4c2ab10eb1bd7b1f5a7bce2f03692
CRs-Fixed: 3493368
2023-06-16 15:03:02 -07:00
Srinivas Girigowda
08ea5c2b80 qcacmn: Add support for local packet capture running
Add support for local packet capture running.

Change-Id: Id954c57a32210c180a8e0f9107e2469f96491173
CRs-Fixed: 3415816
2023-05-10 11:51:09 -07:00
Srinivas Girigowda
13554f0cdc qcacmn: Add support for local packet capture stop
Add support for local packet capture stop.

Change-Id: Ib12574f5b418ea009ec35ef85e170bc8c592c86f
CRs-Fixed: 3415812
2023-05-10 11:50:54 -07:00
Srinivas Girigowda
5d8e550bb7 qcacmn: Add support for local packet capture start
Add support for local packet capture start and relevant changes.

Change-Id: I709e41e0be09cf73e93694efc59bfefbf51fe359
CRs-Fixed: 3415788
2023-05-10 11:50:28 -07:00
Srinivas Girigowda
980d883f07 qcacmn: Introduce HAL API to get phy ppdu id size
Introduce HAL API to get phy ppdu id size.

Change-Id: I125eb344787060336919fb361af032fddeb34526
CRs-Fixed: 3454206
2023-05-10 11:50:15 -07:00
Srinivas Girigowda
9c855c06e2 qcacmn: Separate out the implementation for RX 2.0 and TX 2.0
Separate out the common function implementing both RX 2.0 and TX 2.0
functionality in to RX 2.0 and TX 2.0 separate functions.

Change-Id: I29337aca9851dce1888a492a9534992277f595b5
CRs-Fixed: 3427301
2023-05-10 11:50:01 -07:00
Srinivas Girigowda
0e83621a7c qcacmn: Implement mon_ops to support RX 1.0 and TX 2.0
Currently WIN supports RX/TX 2.0 but MCC needs to support RX 1.0 and
TX 2.0. Hence implement the mon_ops callbacks as array of callback
pointers. Index 0 for 1.0 and Index 1 for 2.0.

Change-Id: I777b47be3af86f0b762b3563ef56204809a9a7ee
CRs-Fixed: 3427297
2023-05-10 11:49:48 -07:00
Srinivas Girigowda
ce736a1d8d qcacmn: Rearrange the functions to appropriate files
Rearrange the functions to appropriate files based on TX and RX 2.0.

Change-Id: Ie8e562a7aecdc91257210b55a323dfe47e67878c
CRs-Fixed: 3427296
2023-05-10 11:49:36 -07:00
Srinivas Girigowda
0419d28f6e qcacmn: Move TX 2.0 code under WLAN_PKT_CAPTURE_TX_2_0 macro
Move TX 2.0 specific code under WLAN_PKT_CAPTURE_TX_2_0 macro.

Change-Id: I20bb1e49a902ec085fbc3df6828fef94a7c577d6
CRs-Fixed: 3415780
2023-05-10 11:48:59 -07:00
Srinivas Girigowda
ec3b9bdbce qcacmn: Move cmn code under QCA_MONITOR_2_0_SUPPORT to TX/RX 2.0 macro
Currently QCA_MONITOR_2_0_SUPPORT macro is used for both TX and RX 2.0.
but on MCC side, only RX 1.0 is supported and as part of this feature
TX 2.0 need to be supported.
Enabling QCA_MONITOR_2_0_SUPPORT will enable both RX 2.0 and TX 2.0, but
to support RX 1.0 and TX 2.0, we need to separate out code under
QCA_MONITOR_2_0_SUPPORT to TX and RX 2.0 macro.

As part of this change, introduce separate macros for TX 2.0 and RX 2.0
and move the common code under both macros.

Change-Id: I7ef7e488800934291538a0bca9acd21e28901214
CRs-Fixed: 3415740
2023-05-10 11:48:32 -07:00
Amit Mehta
5cfdbdb306 qcacmn: Force flush monitor destination ring
In the monitor mode case if some entry status entries are
not received then after the next monitor interface up host tries
to process pending old destination ring entries. As host drops
1 destination entry after processing 16 status entries if the entry
is not present in the status ring. which in case there is a high
number of old entries in the destination ring will result in the
destination ring getting full.

To fix the issue force flush monitor destination ring
during vdev delete.

Change-Id: Ie23a57add7b5bd372ab66f801e29e55cfacb5d4d
CRs-Fixed: 3411943
2023-04-27 21:29:30 -07:00
Harsh Kumar Bijlani
2be2bf6a69 qcacmn: Fix memory leaks in Rx monitor path
Fix the following 2 memory leaks in Rx monitor path:

1. When MPDU queue is empty and MON_BUF_ADDR_TLV is received,
   then free page fragment memory.

2. In case of small size packets, 1 MPDU can have more than
   2*QDF_NBUF_MAX_FRAGS fragments wherein each nbuf can have maximum of
   QDF_NBUF_MAX_FRAGS frags. In this case, add the frags to nbuf in the
   following way.

   parent_nbuf (QDF_NBUF_MAX_FRAGS frags attached)
	|
	| (fraglist)
	|
	----> tmp_nbuf1 (QDF_NBUF_MAX_FRAGS frags attached) ----> tmp_nbuf2
							    (next)

Change-Id: I54e8162bf0b9da8629a3c80d123421fbeaf8df11
CRs-Fixed: 3453676
2023-04-27 04:08:30 -07:00
Himanshu Batra
21a548ada6 qcacmn: Rename WLAN_TELEMETRY_STATS_SUPPORT to WLAN_CONFIG_TELEMETRY_AGENT
Rename telemetry agent macro WLAN_TELEMETRY_STATS_SUPPORT to
WLAN_CONFIG_TELEMETRY_AGENT

Change-Id: I9b2feb33b32daf56e584ae04f260749c358c8ea4
CRs-Fixed: 3425567
2023-03-16 13:50:32 -07: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
Aniruddha Mishra
a70effe5d4 qcacmn: Restructure Rx TLV recording
Restructured Rx TLV recording implementation.
Shifted definitions to monitor 2.0 files.

CRs-Fixed: 3410093
Change-Id: I083f3a37e5caff668976c9ca955926afe16a242d
2023-02-22 01:54:50 -08:00
Aniruddha Mishra
fe48e79218 qcacmn: Add TLV recording support for Rx monitor
Add TLV recording support for Rx monitor. The TLV
tag and its data are recorded in a fixed size buffer

Change-Id: Idad896d1ece25a499ab76028c8a231fcd9947f66
CRs-Fixed: 3402543
2023-02-17 08:00:57 -08:00
aloksing
94970e41cb qcacmn: Add check for num users while peer deterministic stats update
Adding check for num users and num ul users to not cross max users limit
And convert target uplink trigger tid to data tids

CRs-Fixed: 3396991
Change-Id: I66180dba0889e116ce8ff4e582fd9c1d8391f27b
2023-02-13 04:05:02 -08:00
Aniruddha Mishra
589dcb8b89 qcacmn: Fix check for the pointer to next TLV
The pointer to next TLV in status buffer is considered
as valid, only if atleast the TLV header size is available
within the status buffer.

Change-Id: Ic222bfab4790853ee012de4b0a860ab037972ff5
CRs-Fixed: 3378058
2023-02-10 12:21:48 -08:00
Sushant Butta
42be95a6df qcacmn: Word mask TLV support for monitor
Word mask TLV support for QCN9224.

Change-Id: I9e5d6cbb32cc7469dc367f6fc4bca4ce8adc9da8
CRs-Fixed: 3368626
2023-02-08 22:56:03 -08:00
aloksing
444c6f16aa qcacmn: Get deterministic stats from DP mon_peer
Add cdp layer API to get stats and
Copy peer deterministic stats from dp_mon_peer to cdp structure

CRs-Fixed: 3380939
Change-Id: Ic90b9c9f5c7463ad0d5b7c2bb7a371e4d4fef070
2023-02-03 03:38:40 -08:00
aloksing
e657b7999f qcacmn: Update deterministic stats for rx
update mode count and avg rate for SU

CRs-Fixed: 3380939
Change-Id: Id593cc98fd58cdf55269966650cad9f53889c4ec
2023-02-03 03:38:24 -08:00
aloksing
a3a4b8e44b qcacmn: Update deterministic stats for tx
Parse sequence type and msduq htt tlv and
update mode count and avg rate based on txmode.

CRs-Fixed: 3380939
Change-Id: I5fe2068cbe8b312738eeaa4c4a48000e1a66255c
2023-02-03 03:38:06 -08:00
Himanshu Batra
87cf6b8b07 qcacmn: Accumulate tx and rx airtime consumption stats separately
Accumulate tx and rx airtime consumption stats separately.

Change-Id: I1196ec83d94f73ee35a77a935d5820783e239154
CRs-Fixed: 3388165
2023-01-30 12:38:18 -08:00
Aniruddha Mishra
099d29726b qcacmn: Add Advance monitor filter support
Added advance monitor filter support for mon v2
in cfg80211tool.

Change-Id: Iee0a3c10f4281dd6d7f9b59efa7a5807c0fb234e
CRs-Fixed: 3380845
2023-01-27 00:20:54 -08:00
Jeff Johnson
f2c2770849 qcacmn: Fix dp/wifi3.0/monitor documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/monitor, so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so move that documentation.

Change-Id: I27e14544ef88193bbfe6ee409fe58c59d6b5bea2
CRs-Fixed: 3373167
2023-01-25 23:16:08 -08:00
Aniruddha Mishra
73ff25850d qcacmn: Add m_copy wrapper in cfg80211tool
Added lite_mon wrapper for m_copy in
cfg80211tool.

Change-Id: I699f34b9eba2b547f13147e4757ccea42d60f656
CRs-Fixed: 3380811
2023-01-25 23:15:59 -08:00
Pavankumar Nandeshwar
4c86eb5e8a qcacmn: Use flag RX_PEER_INVALID_ENH for invalid peer handling
Use the flag RX_PEER_INVALID_ENH for invalid peer
event instead of FEATURE_NAC_RSSI

Change-Id: I87e301a48b1ccdcd28f8e2eb0ba80b215efa384c
CRs-Fixed: 2969193
2022-12-27 07:12:18 -08:00
Adwait Nayak
8775c73843 qcacmn: Enable hybrid mode for QCN9224
Enable hybrid mode specific handlers

Change-Id: I764c56c217b951424d699d6861ef8771496dd592
CRs-Fixed: 3339154
2022-11-23 04:42:49 -08:00
Nandha Kishore Easwaran
bb7ee725be qcacmn: Add txmon HP TP values in stats command
Add txmon buf and destination ring in HPTP dump command

Change-Id: Ic32d1b355d5fc309225dfc5649ee7f9568a8dca6
CRs-Fixed: 3331176
2022-11-21 00:03:26 -08:00
Santosh Anbu
c6fd7ded28 qcacmn: Enable monitor mac filter for special vap
Add change to enable mac based filter for monitor special vap.

Change-Id: Ib189071443d5a98a84d160e7043e9bc4faf189c5
CRs-Fixed: 3317599
2022-11-16 07:55:33 -08:00
Santosh Anbu
938ddb0956 qcacmn: Add mon dp ops to set monitor filter
As part of mac address filtering feature for scan radio in special
vap mode, on addition of first NAC entry or deletion of last NAC entry
the corresponding monitor filter needs to be set or reset

Add change to support ops callback function required to set or reset
monitor filter settings are runtime.

Change-Id: I916c0b246bb180363f1a181ef49618af763b261d
CRs-Fixed: 3317409
2022-10-31 13:38:08 -07:00
KARTHIK KUMAR T
ea38e7997e qcacmn: update RSSI specific parameters in mon pdev
Before we are updating RSSI params directly into mon_rx_status
this structure will reset every PPDU this breaks iwconfig,
wlanconfig and monitor packet RSSI values.
Fix added to storing the values in the mon_pdev.

Change-Id: I9f8fa776c65cbad84fac5e8c2f65b3fce1386e20
CRs-Fixed: 3276503
2022-10-17 16:22:51 -07:00
Jeff Johnson
ebfbc0d927 qcacmn: dp: Fix misspellings
Fix misspellings in dp/...

Change-Id: I6ef7a19ee03104ae38a8a77e229b90aa80329592
CRs-Fixed: 3304682
2022-10-07 22:42:22 -07:00
Himanshu Batra
f147732272 qcacmn: Add support for link airtime usage telemetry
Add support for link airtime usage telemetry.

Change-Id: I8b796f14d55d56051fb05af255e612e4655db990
CRs-Fixed: 3281355
2022-09-13 09:22:57 -07:00
Himanshu Batra
6a5ab907c1 qcacmn: Update airtime computation to per AC level
Update airtime computation to per AC level.

Change-Id: Ia8cb890d2f1dc167ec3a2610ff5a70238d55262d
CRs-Fixed: 3281256
2022-09-13 09:22:49 -07:00
Amir Patel
0fe7f4446b qcacmn: Optimize monitor mode memory utilization
a. Optimize ppdu_info memory
b. Use kmem cache for ppdu info allocation

CRs-Fixed: 3265620
Change-Id: Ieee040aa703aef8c5eee5e5a34a52ef18300b696
2022-09-06 10:23:43 -07:00
aloksing
c31daef130 qcacmn: fix compilation issue without monitor support
Compilation is failing when Monitor support is disabled
Moved monitor related API and structure to monitor header files.

CRs-Fixed: 3257872
Change-Id: Ie1b3dc16b38c88bfd73fc89aaa395d4b57a61e5c
2022-08-31 16:04:27 -07:00
Jeevan Kukkalli
2b76805c5a qcacmn: Handle FPMO filter configuration
Handle FPMO mode filter settings configured
from lite_mon tool.

Change-Id: I9bfe70101bae7c8f55c6db95d9c36f4c1d308e95
CRs-Fixed: 3235935
2022-08-02 05:16:18 -07:00
nobelj
7d3197b9a5 qcacmn: tx monitor populate stats information
add tx monitor stats information.

Change-Id: Iffc55c2a4fa5351140daeffac3a50dd6867f6ea1
CRs-Fixed: 3230286
2022-08-02 03:23:01 -07:00
nobelj
09bc440ca9 qcacmn: Add support for tx monitor full buffer and minor fix
Add support and handle tx monitor full buffer payload and
other minior fix include change of name for uniformity.

Change-Id: If401ecd5e1c6263584fa7013df672459c883ca8b
CRs-Fixed: 3215244
2022-07-26 18:03:44 -07:00
Harsh Kumar Bijlani
eb56570ae1 Revert "qcacmn: Use qdf flex mem to allocate rx ppdu info"
This reverts commit I2318f6c5f33e5337f6398263d6717da698be7c92.

Change-Id: Ia60fe6ddb66623761c11398d89d6039c66994b66
CRs-Fixed: 3235962
2022-07-08 19:47:28 +05:30
Harsh Kumar Bijlani
1f40cb6ec2 Revert "qcacmn: Initialize ppdu info flex mem pool during pdev attach"
This reverts commit I7970ab056e600ccfe28ae1ccdc50a66d5ae0ade8.

Change-Id: I1837ddb8840a4f567890991d41fbeb78d8d8e0de
CRs-Fixed: 3235962
2022-07-08 19:06:06 +05:30
KARTHIK KUMAR T
0365423471 qcacmn: update RSSI specific parameters in mon pdev
Update RSSI specific parameter from beryllium
specific path to common path as part of
extending feature for lithium also.
RSSI calibration parameters are received as part
of WMI event from FW, update these parameters to
monitor pdev via CDP interface.

Change-Id: I4e35d873db6d1ad03d86694a8d36decffe409a0e
CRs-Fixed: 3231120
2022-07-08 01:20:55 -07:00
Amir Patel
e7422a7db6 qcacmn: Initialize ppdu info flex mem pool during pdev attach
To avoid memory fragmentation during wifi down/up,
initialize ppdu info flex mem pool during pdev attach
instead of pdev init.

CRs-Fixed: 3235962
Change-Id: I7970ab056e600ccfe28ae1ccdc50a66d5ae0ade8
2022-07-07 02:38:25 -07:00
Shwetha G K
56d67b3e32 qcacmn: Configure monitor ring for CFR on Waikiki
Changes to configure the rxdma ring for CFR. Move existing
API of legacy chipsets to dp_mon_1.0 and add Waikiki
specific API in dp_mon_2.0.

CRs-Fixed: 3231265
Change-Id: Id7276bb7bb7f58461c7e10a0695c3e78a1c39b0c
2022-07-05 03:18:57 -07:00
Amir Patel
59b643e25f qcacmn: Use qdf flex mem to allocate rx ppdu info
To avoid fragmentation, use qdf flex mem framework
to allocate rx ppdu info

CRs-Fixed: 3230970
Change-Id: I2318f6c5f33e5337f6398263d6717da698be7c92
2022-07-04 01:14:15 -07:00