Commit Graph

203 Commits

Author SHA1 Message Date
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
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
20db7b641f qcacmn: Add initial support for word mask compaction
Add initial support for word mask compaction.

Change-Id: Ife05e355395fbc6c6804c34f62954a2b04a2cd03
CRs-Fixed: 3398292
2023-03-02 20:41:06 -08:00
Jeevan Kukkalli
7908154e77 qcacmn: Fix non-raw frag length issue
Subtract L2 header pad byte from frag length
while adding frag to skb

Change-Id: I6b3f710e8a7451de427640fdb92ac45ed97d8097
CRs-Fixed: 3414008
2023-03-01 05:45:12 -08:00
Aniruddha Mishra
cb82f44a0d qcacmn: Add null checks in Rx TLV recording APIs
Add null checks in Rx TLV recording APIs for updating index,
clearing buffer and init deinit.

Change-Id: Iab40bd3130c335924a4849516b71ebaaa88e84bb
CRs-Fixed: 3416657
2023-02-27 00:14:26 -08:00
nobelj
d794bc0885 qcacmn: Add support of EHT and USIG in tx monitor
Added support for EHT and USIG in tx monitor.

Change-Id: I1f6cc345ace19532cc356464c82476b084ca53dc
CRs-Fixed: 3386918
2023-02-26 19:12:52 -08:00
nobelj
40a27a9a55 qcacmn: Adding mlo timestamp offset to tx monitor tsf
Adding MLO timestamp offset reported from firmware to tsf time for
radiotap header populated in tx monitor.

Change-Id: I44f2c1a49d4d2b73ac9117319b72ba8635cb5b38
CRs-Fixed: 3398345
2023-02-23 03:45:13 -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
Jeevan Kukkalli
fd0368882b qcacmn: Enable FPMO filter settings
Enable code to set FPMO filter registers

Change-Id: I12c58da32dc15cd3f729f3a3d006eec86b27e47c
CRs-Fixed: 3378372
2023-02-13 12:45:13 -08:00
Jeff Johnson
5cf8f4a9a4 qcacmn: Fix dp_rx_mon_pkt_tlv_offset_subscribe() documentation
Previously all of the documentation issues in the dp/wifi3.0/monitor
folder were fixed by:
  Change-Id I27e14544ef88193bbfe6ee409fe58c59d6b5bea2
  qcacmn: Fix dp/wifi3.0/monitor documentation

But concurrently a separate patch introduced a new issue in the
dp_rx_mon_pkt_tlv_offset_subscribe() documentation:
  Change-Id I9e5d6cbb32cc7469dc367f6fc4bca4ce8adc9da8
  qcacmn: Word mask TLV support for monitor

So fix that issue.

Change-Id: I174b19d9dded26d14af6eb94115a1c461a2f9e6f
CRs-Fixed: 3401990
2023-02-11 17:11:02 -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
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
Nandha Kishore Easwaran
c79a97bc8a qcacmn: memzero with correct size
Add memzero with correct size.

Change-Id: Ied78bbc7c15e4b5765015944a71148f5501f2884
CRs-Fixed: 3354666
2023-01-27 12:56:46 -08:00
Jeevan Kukkalli
10b8c93c24 qcacmn: Fix max RX monitor meta header TLV macro
RX monitor meta header now supports two TLVs.
Macro used to represent maximum RX monitor meta
header TLVs should reflect the same.

Change-Id: I29cf830323cbe91a186c4876606290dc3c87b4eb
CRs-Fixed: 3385695
2023-01-27 07:02:12 -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
Nandha Kishore Easwaran
10a1d54f1d qcacmn: Check peer_count for peer filtering
Check peer count to decide if peer filtering is required or not.
This is required to support peer filtering for full monitor mode.

Change-Id: Icb3c0fc834795dbbbfd3a7899b3b733409f5f70d
CRs-Fixed: 3372600
2023-01-11 17:24:14 -08:00
Mukul Dhiman
4bc38f404d qcacmn: remove unused var in dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c
remove unused var and declaration in
dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: I83f39250f90a8dbf673e517244bb0b872e40026a
2023-01-08 23:19:04 -08:00
Mukul Dhiman
953c4d69fb qcacmn: remove unnused var in dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c
remove unused var and declaration in
dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: Ibae1a2b3f9376103f348e1778c0f9f88fd05e9dc
2023-01-08 23:18:55 -08:00
Mukul Dhiman
4a4f3ce161 qcacmn: remove unused var in monitor/2.0/dp_mon_filter_2.0.c
remove unused var and declarations in
dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c

CRs-Fixed: 3284798
Change-Id: I602d0e1ce5a74b981f34f7d5d4a5cb83693f62db
2023-01-08 23:18:46 -08:00
Mukul Dhiman
cdde02d8b6 qcacmn: remove unused var in dp/wifi3.0/monitor/2.0/dp_mon_2.0.c
remove unused var and declarations in
dp/wifi3.0/monitor/2.0/dp_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: Ief15786a74d7f6eb90ed1b1527b79ddb50f14159
2023-01-08 23:18:36 -08:00
Sushant Butta
6bab9eec62 qcacmn: Fix for memory leak
In error conditions(packet truncation or flush detected)
packet buffers are not freed, changes are done to
iterate over all the packet buffers and free them.

Change-Id: I48ef0022c7a9c8c6fd067d78d6b46daf84855cc8
CRs-Fixed: 3363841
2023-01-03 21:51:56 -08:00
nobelj
f1dd81866f qcacmn: Add support for firmware to software tlv
Added support for parsing firmware to software tlv. which is mainly used
for populating frequency of the current packet.

Change-Id: I67c552e6d6b5caf9c12c34e553bad70b89b30c40
CRs-Fixed: 3270364
2022-12-27 17:07:35 -08:00
aloksing
336315bdd2 qcacmn: Fix invalid memory access
rx user status pointer is not valid

memzero ppdu_info before ppdu TLV processing and
Assign valid user status pointer from ppdu_info
user status before rtap update.

Change-Id: Ib9f8bf356a8d4710d295716cf88b8cf6a37158cb
CRs-Fixed: 3341380
2022-12-20 11:56:52 -08:00
Sushant Butta
0bffc7e7d1 qcacmn: Do length check to avoid memory corruption
Check size of the frag before passing
to trim function, which can lead to memory
corruption.

Change-Id: Icea102f9fef8c7333591337a93d32bc449704202
CRs-Fixed: 3354458
2022-12-14 21:12:31 -08:00
Amir Patel
2725ca7035 qcacmn: Adjust low watermark refill for RxMON Source ring
Adjust low watermark refill for RxMON Source ring based on
ring_fill_level.
ring_fill_level varies based on use case of monitor like
enhanced_stats, full monitor.

CRs-Fixed: 3353181
Change-Id: I4e17eecbbd7f74071283d2c5615904310a3d7c77
2022-12-07 05:50:28 -08:00
Amir Patel
05a6d5283d qcacmn: Enable low watermark interrupt for WKK RxMON
Enable low watermark interrupt for WKK RxMON

CRs-Fixed: 3347545
Change-Id: Ia78878aab1ded951a2ecd4a276696ac150910c43
2022-12-02 03:31:07 -08:00
Jeevan Kukkalli
ce1eb44128 qcacmn: Add appropriate comments
Add appropriate comments to describe actions
performed.

Change-Id: I16ba2ef3f8baae3e5a5e8add1668a49acc858495
CRs-Fixed: 3346270
2022-11-28 08:37:59 -08:00
Nandha Kishore Easwaran
7432a2e275 qcacmn: Add field to indicate sw peer filtering
Add a field to indicate if SW peer filtering is needed in
Tx monitor

Change-Id: Id0ed1655dfe51632f0437c4e3e3c2ccd067f75fe
CRs-Fixed: 3333191
2022-11-28 04:58:30 -08:00
Jeevan Kukkalli
b0b3b2a793 qcacmn: Validate nbuf while processing MPDU/MSDU level TLVs
nbuf could be freed when some error conditions are hit so
always validate nbuf while processing MPDU/MSDU level TLVs.

Change-Id: I5e0756bc8ba0a8c68c6ce8d2886b5b63068626a0
CRs-Fixed: 3318966
2022-11-26 17:40:21 -08:00
Amir Patel
88194f389a qcacmn: Update Calibrated noise floor from HALPHY
Update Calibrated noise floor from HALPHY into monitor packets

Change-Id: I73d879ad7d1b22a52b447f3197989e2beb52a404
CRs-Fixed: 3345567
2022-11-26 02:37:31 -08:00
Sushant Butta
31eb482274 qcacmn: Fix for u8 overflow
When high throughput is running between AP and STA,
due to u8 variable overflow, host is not replenishing
required buffers.

More than 255 buffers can be requested for replenish,
so fixed size of the variable.

Change-Id: Ia810fed29058ec527cd8e6f77e6f9c333c5c6f88
CRs-Fixed: 3306616
2022-11-25 10:25:33 -08:00
Amir Patel
af0472aa08 qcacmn: Update PPDU drop counter
Update PPDU drop counter from monitor ring

CRs-Fixed: 3341905
Change-Id: I63f5b4d6a3e1e0155cf0558bea18704df073e2a9
2022-11-23 21:52:03 -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
Nidhi Jain
92cfe5ce89 qcacmn: Changes to enable CFR in monitor filter 2.0
This change enables CFR through dp_mon_filter_2_0 path.

Change-Id: Ic83d071dbc7c3dec28f025388753f07b7dba2fa5
CRs-Fixed: 3337540
2022-11-20 22:03:19 -08:00
Kai Chen
9cb6199f70 qcacmn: Add EHT debug counter on PPDU
Add debug count to count PPDU based on UL/DL and type compression
mode

Change-Id: I2b320e6562d309cc0a178a137162ab0499c81e58
CRs-Fixed: 3326278
2022-11-17 08:09:23 -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
Kai Chen
83521665e6 qcacmn: Add debug counter for monitor mode
Add debug count for count MPDU received based on preamble type,
reception type, UL/DL and user for max 4 user for MU monitor
mode

Change-Id: I87f1553e1f2f8276501366a825d629cf051d8a80
CRs-Fixed: 3326272
2022-11-14 16:20:25 -08:00
Nidhi Jain
2e2003d54f qcacmn: Changes to enable CFR on special vap
This change enables CFR captures on special vap.

Change-Id: Ifdaeccf7cc2211af5a2b82feae3a0b3ee45b617a
CRs-Fixed: 3308460
2022-11-07 00:44:52 -08:00
Jeevan Kukkalli
3bc974804e qcacmn: Add ini cfg to disable invalid decap type handling
Add ini configuration to disable invalid decap type handling
during rx mon tlv processing. This is a temporary change for
debugging purpose and will be removed once HW issue is resolved.

Change-Id: I75eb53170833224ddd144baf1b1d8034f988dd3c
CRs-Fixed: 3308998
2022-10-20 10:55:19 -07:00
Subrat Mishra
92fc6fa7c1 qcacmn: Add control frame stats accounting support
Add control frame stats accounting support.
Accumulate both per peer BAR and NDPA counts in Tx and Rx per PPDU stats
path. Accumulate per peer RTS success and failure count only in per PPDU
Tx stats path.

Change-Id: I78fb3546cd831559e208a7330feb2eb67b9a28de
CRs-Fixed: 3313435
2022-10-20 10:55:12 -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
Sushant Butta
dfed04fde0 qcacmn: Fix memory leaks
In some of the erorr cases, allocated mpdu's are not
freed leading to a memory leak.

Changes are done to iterate over mpdu queue and
frees allocated mpdu.

Change-Id: I18d3a57b366b9fa7aa934ac062c7acd1a9065d1b
CRs-Fixed: 3295577
2022-10-15 19:31:56 -07:00
Nandha Kishore Easwaran
9f3dd70ae9 qcacmn: Add peer filter support for tx monitor
Add peer filter support for tx monitor. Add changes to filter frames
in SW

Change-Id: Ie4f2f261976d3b173a417942e36a6aaccea18e47
CRs-Fixed: 3300747
2022-10-11 08:28:56 -07:00
Jeevan Kukkalli
da9acd4815 qcacmn: Add flag to indicate all type subtype FP filter
If all the type and subtypes are enabled then there is
no need to dissect frames and validate type and subtype.
Add flag to indicate such configuration.

Change-Id: Ia7f919e5bdb175019a39f23be9e1d5a9a12fec31
CRs-Fixed: 3303105
2022-10-10 02:55:52 -07:00
Sai Rupesh Chevuru
6aef607629 qcacmn: htt support for compact tlv feature
Adding htt support for compact tlv feature

Change-Id: If45b5b32c4cef482cb6c54b5f2919b56384a8a93
CRs-Fixed: 3293927
2022-10-09 20:42:33 -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