Commit Graph

356 Commits

Author SHA1 Message Date
aloksing
47c7b5dfc8 qcacmn: Reduce mimo users to 8
Reduce array size to 8 for ul/dl mimo users
for deterministic stats

CRs-Fixed: 3408802
Change-Id: I055aa195e514eb1fe74161ef61119f7c8ddad478
2023-03-23 04:47:34 -07:00
Hariharan Ramanathan
7a22157418 qcacmn: Changes to make correct buffer allocation for monitor
Changes to allocate correct number of buffers for monitor during boot
time and allocate remaining buffers only when monitor vap is created.

Change-Id: I8a2cd7b6a20a281934c47ca0418904b426d17a4d
CRs-Fixed: 3432525
2023-03-22 10:30:05 -07:00
Jeevan Kukkalli
5b2792536c qcacmn: Move smart monitor cdp func ptrs to mon ops structure
Move smart monitor cdp func ptrs to cdp mon ops structure.
Smart monitor cdp functions are different for 1.0 and 2.0
hence moving the func ptrs to mon ops structure ensures that
func ptrs are initialized appropriately.

Change-Id: Ic827b44f36d76349f397e5b72dec0a127f90aa7a
CRs-Fixed: 3428778
2023-03-22 10:29:56 -07:00
Kenvish Butani
1e6fe4c3a2 qcacmn: Enable MLO Link Stats Support
1) Enable MLO Link Stats Support
2) Add Stats counter to capture Invalid Link ID
3) Fix the FW Recovery crash while ol_stats
   disable.

Change-Id: I1b5263ae024579c5ec2018f8082f0d03ffdf0030
CRs-Fixed: 3431319
2023-03-22 05:58:57 -07:00
Jeevan Kukkalli
96b25fe6e0 qcacmn: Fix compilation issue when rx tag stats macro is disabled
Fix compilation issue when WLAN_SUPPORT_RX_TAG_STATISTICS is
disabled.

Change-Id: I955af07214bcf7b9b2bba17c0f12eb18076c2a48
CRs-Fixed: 3436740
2023-03-22 05:58:37 -07:00
Sreeramya Soratkal
12b1dc3a21 qcacmn: Update the debug level of pilot evm count
With the current implementation of tlv parsing for rx_evm and
rx_antenna, there is a flood in printing the higher pilot
evm count error. Update the debug level of the print to
prevent the RCU stall due to excessive printing.

CRs-Fixed: 3435849
Change-Id: I8f1eb0c133a4d8b70494639d90b04de23b276fc2
2023-03-21 23:01:48 -07:00
nobelj
0afe701ed5 qcacmn: Add fix to configure word mask
Add fix to configure tx monitor word mask.

Change-Id: Ica66f42de768398b1189dce3d5593c6fb884b35f
CRs-Fixed: 3437660
2023-03-20 23:22:35 -07:00
Nandha Kishore Easwaran
ba9a08a6fc qcacmn: Delete peers when tx monitor is disabled
Delete the litemon peers added when tx monitor is disabled.

Change-Id: If604e0c121690919ac8364f70e2a471df1b7f794
CRs-Fixed: 3412125
2023-03-17 09:13:20 -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
Nobel Sharanyan Jeganathan
799d46a277 qcacmn: invoke hal api to populate word mask
Added hal api to populate word mask

Change-Id: Ic13fdb1fa4104618d67f3f7aae25681951d78581
CRs-Fixed: 3422903
2023-03-16 01:33:31 -07:00
Santosh Anbu
d20a5a657c qcacmn: York Scan radio monitor mode bringup
Initial changes for York scan radio bringup in monitor mode.
Update monitor filter settings.

Change-Id: Ib9468f11b71d0439d0bd63526f64f454ed6b5b4d
CRs-Fixed: 3421412
2023-03-15 22:38:56 -07:00
Pavankumar Nandeshwar
80d41dc9b4 qcacmn: Handle Umac reset for MLO case
1. Add an API to process trigger_umac_recovery T2H message.
2. Synchronize do_pre_reset, do_post_reset_start, do_post_reset_complete
   messages for all the SOCs and then process these messages in the host.
3. Synchronize pre_reset_done, post_reset_start_done,
   post_reset_complete_done for all the SOCs before sending it to FW.
4. Add a new state in host for trigger_umac_recovery message.
   Ignore back to back trigger_umac_recovery messages received from FW.

Change-Id: Id45d326d63e122834090844e83ad6cc7240f96af
CRs-Fixed: 3425833
2023-03-15 11:20:26 -07:00
Narayan Subramhanyan
ff85561570 Revert "qcacmn: Add manual ulofdma trigger bit in rx ppdu user stats"
This reverts commit I2a697f91e572f88a36f96085d15c90c679deaf0c.
Original change was added to support manual ulofdma trigger but it
needs to be reverted here due to a small tweak in design approach.
New design to be integrated and hence reverting this one.

Change-Id: I4c358db48298666c753aa89166a31adbba067e36
CRs-Fixed: 3429084
2023-03-15 09:31:33 -07:00
Subrat Mishra
235202f7de qcacmn: Add RC index macro for Smart Antenna 320 MHz BW
Add Rate Code Index macro for Smart Antenna 320 MHz BW in per PPDU
stats processing path.

Change-Id: I880cbc5d54f333dc2f8938c1a4d3bd56b96b7a6e
CRs-Fixed: 3429317
2023-03-15 07:46:05 -07:00
Amit Mehta
4a4820f85a qcacmn: Fix monitor filter config
For beryllium target in monitor mode host only subscribe
to MSDU end and MPDU start tlvs, but during monitor mode
up as part of monitor filter reset host is subscribing to
all the tlvs.

To fix the issue only subscribe to MSDU end and MPDU start tlvs
on target basis

Change-Id: I1599559b1af0b5121a7c361db403da857988cc01
CRs-Fixed: 3429044
2023-03-14 10:37:33 -07:00
Amrit Sahai
176e6fa814 qcacmn: Fetch and update rssi_chain stats from Firmware
fetch and update rssi_chain stats from firmware.

Change-Id: I0a16ebda0ab17d32c7f7daab36eeebb6c4d691f9
CRs-Fixed: 3404107
2023-03-12 00:23:28 -08:00
nobelj
3618c82727 qcacmn: Increase capacity to store status buffer in tx monitor
In tx monitor, the maximum capacity to store status buffer is 64.
During high throughput scenario number of status buffer exceeds 64.

Change-Id: I5e8d1945773d2027a4adbc141fa868587e80acd1
CRs-Fixed: 3430126
2023-03-11 13:41:25 -08:00
Kenvish Butani
8984ecea8d qcacmn: Fix for crash during FW recovery
Fix for the crash seen during FW recovery
while doing disable ol_stats for all the
MLO pdev's

Change-Id: Ie7b037e2d124009658a01d2a00d0a74a784ac51f
CRs-Fixed: 3430134
2023-03-11 03:50:37 -08:00
Rakesh Pillai
9374de2500 qcacmn: Fix monitor status ring history
Currently for the monitor status ring history,
the event type is not being logged.
Fix the event type logging in the monitor status
ring history.

Change-Id: I43f07bf9a4232a203b7a996db6038a081249ffc9
CRs-Fixed: 3425325
2023-03-10 19:42:04 -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
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
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
Narayan Subramhanyan
4c942e661a qcacmn: Add manual ulofdma trigger bit in rx ppdu user stats
Extract manual ulofdma trigger bit as part of rx ppdu stats per user
update process

Change-Id: I2a697f91e572f88a36f96085d15c90c679deaf0c
CRs-Fixed: 3418677
2023-03-02 23:53:59 -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
Subrat Mishra
19f2d80322 qcacmn: Add 160 MHz and 320 MHz BW support for Smart Antenna
Add 160 MHz and 320 MHz BW support for Smart Antenna.

Peer connect gets rate codes for all supported BW on connecting peer
as part of wmi_peer_ratecode_list_event. This changes add 320 MHz and
160 MHz BW support.

Change-Id: I715dd5a64c38114fef6e17c2e2f6a526e1a716c2
CRs-Fixed: 3381648
2023-02-27 20:54:01 -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
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
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
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
Prakash Manjunathappa
3cde321196 qcacmn: Add PEACH device support
Add support for peach device. Add peach conditional statements.

Change-Id: Ia107e60fd00b4938984414fd92d6699d11fd3797
CRs-Fixed: 3394198
2023-02-07 00:54:44 -08:00
aloksing
e03fabab41 qcacmn: Update deterministic stats per pdev
Adding tx mode count per num of users and mode count
per tx mode

CRs-Fixed: 3380939
Change-Id: I7e50ce6cfc7cfc23bde6e58b4afa478008b6af9e
2023-02-03 03:38:58 -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
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
Jinwei Chen
95eec89597 qcacmn: fix incorrect length setting for jumbo RX monitor MPDU
Currently for jumbo RX monitor MPDU, it will spread across multiple
RX buffers(N). host set length 112 bytes for (N-1) skbs(not include
the last skb), while the expected length should be (2048 - 400
- 112) = 1536 bytes for them, this lead to last skb length
calculation incorrectly, which will be total MPDU length -
112 * (N - 1), this will be over boundary of skb buffer room
easily.

Set length 1536 bytes for (N-1) skbs to fix it.

Change-Id: I4e73673887d5d8197cf64bed5da34a3751df1e33
CRs-Fixed: 3381528
2023-01-20 22:12:12 -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
9164f76a01 qcacmn: remove unused var in dp/wifi3.0/monitor/dp_mon.c
remove unused var and declaration in dp/wifi3.0/monitor/dp_mon.c

CRs-Fixed: 3284798
Change-Id: Ic8054df9e2af9ff787478cdc24ae1a2360bfa525
2023-01-08 23:19:14 -08:00