Commit Graph

245 Commits

Author SHA1 Message Date
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
Amit Mehta
95857b39a8 qcacmn: Add API to get and clear pdev obss stats
Add API to send request to Fw to get and clear pdev obss stats.

Change-Id: I2697cc111eba0310d0a65e9911673670ff476c7f
CRs-Fixed: 3295540
2022-10-01 22:31:20 -07:00
Prakash Manjunathappa
60c0c089cd qcacmn: Free the raw mode mpdus in REO error ring
Raw mode mpdus in REO end up resulting in NULL_QUEUE_DESCRIPTOR error.
Raw mode mpdus are not expected in REO, free them without further
processing.

Change-Id: Ica920caecf90a1107ce17836051e1019c9dfc994
CRs-Fixed: 3282836
2022-09-23 10:23:44 -07:00
Sai Rupesh Chevuru
c16d4c0cd9 qcacmn: Check for valid peer_id in exception path
Sometime DP might receive a exception packet with
already deleted peer id. Added a check to avoid sending
such packets.

Change-Id: Ib43d55c7930e4ddc7550d486505a56cb48e85afe
CRs-Fixed: 3285034
2022-09-19 03:16:20 -07:00
Vivek
d1f06c6992 qcacmn: Add call to API to update delay average
Add call to API to calculate the moving average fo delay for
the following
	NW Delay
	Wifi SW Delay
	Wifi HW Delay

Change-Id: I35afa4d83e474b0173cc1f4b9b6456b9fe2c963c
CRs-Fixed: 3286176
2022-09-17 04:32:29 -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
Harsh Kumar Bijlani
c84505ec7b qcacmn: Change datatype of rx_snr_measured_time to unsigned long
Change datatype of rx_snr_measured_time to unsigned long.

Change-Id: I37db568a876b15eee73f21474883eb42d4f3b18d
CRs-Fixed: 3281574
2022-09-12 20:55:09 -07:00
Ripan Deuri
04dd6c626a qcacmn: Add support to fetch PER
Add support to fetch PER from peer stats.

Change-Id: Ia7cf8913238ab5b56d5f049cf9d511318ca5d165
CRs-Fixed: 3284395
2022-09-08 02:57:20 -07:00
Tallapragada Kalyan
1b1b3adbea qcacmn: fast TX API and registration
This is a new FAST TX API which avoids various checks.
This API will be called when SFE tags a pkt as fast_forwarded
and vap's fast_tx flag is set.

avoid additional re-checks in the wifi TX function

CRs-Fixed: 3218650
Change-Id: Iba17ede59652a1ff2af553f57de21dc58946298e
2022-08-19 16:15:21 -07:00
Sai Rupesh Chevuru
086f192c0a qcacmn: Forward the igmp packet for intra bss processing
Forward the igmp packet for intra bss processing

Change-Id: Ie4838a00542e49e8d76503297332b99cf3e67563
CRs-Fixed: 3261921
2022-08-12 16:46:59 -07:00
Pavankumar Nandeshwar
a839cac207 qcacmn: Datapath changes for umac prereset handling
Handle Umac prereset event from firmware.

Change-Id: I1d3d295468e97ebce5e7310055abc508e16e99b0
CRs-Fixed: 3174560
2022-08-11 15:23:13 -07:00
Yu Tian
ed3ba3ca44 qcacmn: Replenish more RX buffers when refill ring runs low
When nbuf allocation failure happens, there is no retry scheme.
So RX buffers in refill ring may shrink and not got enlarged.
This change is aimed to replenish more RX buffers when watermark
is less than critical low threshold.

Change-Id: I201b9e252ba08ba1bff47e0b5ec819a45f1b1ddf
CRs-Fixed: 3245915
2022-08-11 12:43:23 -07:00
Shiva Krishna Pittala
8641a158f3 qcacmn: Hook the UMAC reset in the target attach path
Call UMAC reset initialization API from soc_attach_target().
FW exposes a service bit for this feature, use that to conditionally
enable this feature. Also, add default log levels for this feature.

CRs-Fixed: 3253464
Change-Id: Ia7c9cf07a7ab7b000ebe452ab074a82173b70129
2022-08-03 07:35:26 -07:00
Jinwei Chen
64d7493b30 qcacmn: add RX statistics per lmac for MLO connection
Add RX statistics per lmac for MLO connection.

Change-Id: I72b942732cc362c1613fae637bc5e1154f9e2ec2
CRs-Fixed: 3251609
2022-07-29 22:57:35 -07:00
Jinwei Chen
9d2b26795a qcacmn: add 11be TX/RX rate statistic support
Currently 11be msdu rate statistic is not supported yet.
Another issue is: HW reported pkt type value 6, while host
SW defined 11be type DOT11_BE (value 5), they are not matching.
DOT11_BE value 5 is referred in monitor mode and otherwhere,
so do map and conversion in host sw side.

Change-Id: Ic5c2dd2a35cbe0ecd6430f007b6e7e02ece40998
CRs-Fixed: 3230900
2022-07-05 03:19:03 -07:00
Himanshu Batra
768250e291 qcacmn: Add support for telemetry agent stats
For telemetry agent, some more statistic support is required.
Hence, add support for telemetry agent required stats.

Change-Id: Ieb2210a4a5dfe6fa0a0dd46a85f2d9ae483bb746
CRs-Fixed: 3210797
2022-06-07 03:29:51 -07:00
Subrat Mishra
120fb06e12 qcacmn: Add cdp api to get accumulated pdev tid stats
Add cdp api to get accumulated pdev tid stats along with per tid
total tid rx and tx stats.

Change-Id: I7862c4265f199d0588d8865c5ed97e06010dd79f
CRs-Fixed: 3207499
2022-06-01 14:01:31 -07:00
Srinivas Girigowda
85b76d5a6c qcacmn: Add counter in non-TQM based Tx completion path
Rate limit the log in non-TQM Tx completion path and add a counter
to increment whenever Tx completion status is received and release source
is non-TQM.

Change-Id: I8968ccc7a499577bd4fdfaef78e6520b00c12503
CRs-Fixed: 3201403
2022-05-26 20:03:25 -07:00
Varsha Mishra
f9424745bb qcacmn: Drop 3 addr multicast in rx
Drop 3 address multicast packet on rx when vdev is
has drop_3addr_mcast enabled.

Change-Id: I726bdc9383ea6e5a052a5d754e8f48c98f9ce874
CRs-Fixed: 3163011
2022-04-27 00:50:38 -07:00
KARTHIK KUMAR T
ec906c0387 qcacmn: Add the rssi dbm support param in dp soc
Update RSSI dbm support parameter in the dp soc
via CDP interface.

Change-Id: I1197d98eeb417361bb65ad6f3c0c777524c39c3b
CRs-Fixed: 3157372
2022-04-22 10:58:15 -07:00
Harsh Kumar Bijlani
484198b257 qcacmn: Add MSDU counters to account for 11BE puncturing BW stats
Add MSDU counters to account for 11BE puncturing BW stats.

Change-Id: I2c1d420b8d8b4533dcbf64f206783c07555cac99
CRs-Fixed: 3171770
2022-04-19 01:27:03 -07:00
Jeevan Kukkalli
7f9da4ae12 qcacmn: Add lite monitor set/get functions
-Add lite monitor tx/rx filter config set/get fucntions
-Add lite monitor tx/rx peer config set/get functions

Change-Id: I47cc1085c64468b8a0fada871e2f5d3707ca7063
CRs-Fixed: 3078298
2022-04-05 10:11:03 -07:00
Yeshwanth Sriram Guntuka
df666b7116 qcacmn: Add support to enable tx hw latency stats at run time
This feature can be enabled runtime using sysfs interface.
Support is added to dump and clear the histogram stats.

The lower delay regions has to be more granular to indicate any
medium related issues for time sensitive XR applications.

Change-Id: I0a44a54d12d92ce016de349810cb2bedebaf9a58
CRs-Fixed: 2981006
2022-03-24 06:47:10 -07:00
Harsh Kumar Bijlani
a8a078e59a qcacmn: Define macro for maximum mcs value for 11AX and 11BE
Define macro for maximum mcs values for 11AX and 11BE.
Also move bandwidth enums to cdp header file.

Change-Id: Ic24b9fa459b160702fa35162955c6bcdf678c97f
CRs-Fixed: 3134964
2022-02-28 11:38:54 -08:00
Chaithanya Garrepalli
be02a2d44f qcacmn: Add stats for new TQM release reason on BE
Add Tx completion stats for TQM release reason added
for BE

Change-Id: I7d28cbfacd1378982c5cf9a3f2cf3cffa070ee87
2022-02-23 08:37:16 -08:00
Basamma Yakkanahalli
e85fbce095 qcacmn: change to configure and handle undecoded metadata capture
Added change:
1. Set/reset RXDMA MON STATUS ring filter setting and send HTT
   message to capture undecoded frame
2. Handle undecoded frame to update cdp_rx_indication_ppdu structure
   from hal ppdu_info rx status and generate WDI event to deliver it
   to upper layer

Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
2022-02-18 04:53:18 -08:00
Santosh Anbu
5f86d05c40 qcacmn: Support Multi AST delete service bit info from FW
Add change to fetch and save the WMI service capability of FW to
support multi AST delete using service bit

Change-Id: Iba1af7c230574ae68086357cbb49ae3ca3d944e4
CRs-Fixed: 3118892
2022-02-12 03:16:06 -08:00
Harsh Kumar Bijlani
148f220408 qcacmn: Segregate stats among peer, txrx_peer & monitor_peer
Segregate the stats among dp_peer, dp_txrx_peer and dp_mon_peer
structures.

Segregation is done as per below:
 * Move stats updated in per pkt path to dp_txrx_peer
 * Consider stats updated purely in per pkt path as per_pkt_stats
 * Consider stats for which there is an alternate path of
   updation as extd_stats
 * Move delay stats and jitter stats to dp_txrx_peer
 * Maintain calibrated stats in dp_peer
 * Move rdkstats_ctx from dp_peer to dp_mon_peer
 * Move invalid peer from dp_pdev to dp_mon_pdev

As per the above segregation, if there is not support for
alternate path of stats updation, then stats in dp_txrx_peer is
combination of per_pkt_stats and extd_stats and dp_mon_peer
does not hold any stats.

If support is there, then dp_txrx_peer holds only per_pkt_stats and
dp_mon_peer holds extd_stats.

Change-Id: I2eb81d1b93a178985c05ff4f6557a173cc8a262d
CRs-Fixed: 3092123
2022-02-09 11:54:07 -08:00
Pavankumar Nandeshwar
b9038e9d4e qcacmn: Move per packet stats params to txrx_peer
Move the stats parameters from the dp_peer which are used
in per packet path to txrx_peer

Change-Id: Ieb68b6950740791b37bbd2bfdc4815c3d7bc4834
CRs-Fixed: 3095637
2022-02-09 11:54:01 -08:00
Adwait Nayak
df88a8bdc9 qcacmn: Place pktlog specific code under BE_PKTLOG_SUPPORT
Introduce a new flag "BE_PKTLOG_SUPPORT" for beryllium specific
pktlog support.

Change-Id: If91156541b322905ad5d97cf2d9d7ae687290ecb
CRs-Fixed: 3115832
2022-01-26 10:59:42 -08:00
Subrat Mishra
1e5ee08ad6 qcacmn: CDP interface support for Tx Capture Stats
Add CDP interface structure and ops functions for getting Tx Capture
stats.

Change-Id: I5b01e2ab21aec566848eee805d6a702da150d328
CRs-Fixed: 3111860
2022-01-21 01:54:05 -08:00
Tallapragada Kalyan
9639c91317 qcacmn: buffer replenish and reap without map and unmap
use dma_inv_range call instead of dma map and unmap
APIs during replenish and reap. This complete code is
under a compile time macro.
before change: 4160Mbps @ 96.5% (core 3)
after change: 4160Mbps @ 90.5% (core 3)

Change-Id: I61bca349a369ace06cd86f353880108cee013cb1
2022-01-20 10:01:09 -08:00
Subrat Mishra
0a5f55fb4a qcacmn: Add more stats to cdp_soc_stats structure
Add more stats to cdp_soc_stats interface structure to ship it to
userspace. Move soc, delay and jitter stats apis from dp_main.c to
dp_stats.c.

Change-Id: Idb7f8b706e8744350d7fb2e8802d9303b3f25b5c
CRs-Fixed: 3084586
2022-01-17 02:14:38 -08:00
Aakanksha Doda
d92a7a0776 qcacmn: Fix issues with rdkstats
The following issues are fixed with this change-
1. Sojourn stats were printing incorrect values
2. RSSI values were junk numbers

Change-Id: Ibed73cf370a309bf9db5baad37a0e8261c58463b
2022-01-12 05:34:00 -08:00
Jianmin Zhu
326f1015bc qcacmn: Add mpdu tx retries stats
Customer reported their HLOS LTE-WLAN transition algo sometimes go wrong
for wrong low layer stats, Txretry delta is bigger than Txtotal delta.
Txretry unit is msdu while Txtotal unit is mpdu.

Add vdev/peer stats for mpdu number of successfully transmitted after
more than one retransmission attempt, to align mpdu tx_packets, tx_failed.

CRs-Fixed: 3099490
Change-Id: Id4b9d8fd81af4bf0c141dad481bfd2b3f6c1db2a
2022-01-04 02:53:18 -08:00
aloksing
9a4ae1a05a qcacmn: print tx/rx stats for 11BE
Add and initialize function pointer to print BE/LI stats

CRs-Fixed: 3071271
Change-Id: Ib9748d475ac583b7404fcc5f1207b8019c7671a6
2021-12-09 11:17:34 -08:00
aloksing
b726e009e7 qcacmn: rx stats update for WKK
Add function pointer to update stats for LI and WKK
Add new fields in structure cdp rx stats

CRs-Fixed: 3071271
Change-Id: I6a1d7afbdfe47d171335d55bf66d210d785f5a03
2021-12-09 11:17:28 -08:00
aloksing
b093d034a4 qcacmn: tx stats update for WKK
Add function pointer and initialize with function
to update stats for WKK
Add new fields in structure cdp tx stats

CRs-Fixed: 3071271
Change-Id: Ib1fd867e414b8a61cff4f462434c51541f925f62
2021-12-09 11:17:23 -08:00
Chaithanya Garrepalli
b801ec4b65 qcacmn: Fix for compilation error on MCC WHUNT
Fix for compilation error on MCC WHUNT with MLO
enabled

Change-Id: I684c8197753adbcf0f9ef519bd8e37596a48dd01
2021-12-01 04:23:24 -08:00
Harsh Kumar Bijlani
af17c944fb qcacmn: Rx stats changes for BE HW vdev stats
Following peer stats are updated in per packet Rx path:
    to_stack
    multicast
    broadcast

In BE architecture, HW provides the support for basic vdev stats and
hence per packet stats updation of above parameters can be done only
when enhanced stats is enabled or HW vdev offload stats is disabled.

Avoiding per packet stats updation reduces CPU load and improves KPI.

Change-Id: Id7c11c025a8464951b615a7f7b006ce61db487fc
CRs-Fixed: 3067843
2021-11-30 00:58:04 -08:00
Adwait Nayak
c96961a186 qcacmn: FR65980: Add MLO timestamp support for pktlog
Whenever firmware receives the sync interrupt, it would
update the MLO offset to the scratch registers. Additionally,
firmware also sends a HTT message.

The values from the HTT message are copied into two structures:
1. into the dp_pdev structure, for monitor mode usage
2. into the scn structure for updating the pktlog header
    A new WDI event is introduced for MLO timestamp sync into
    pktlog header. Host sends the WDI event once it receives
    htt msg and the data gets parsed in the pktlog handler and
    eventually pktlog header gets updated with those values.

Whenever pktlog memory is being filled, the latest value from scn
structure is filled into the pktlog header. Upon receiving a new
HTT message, the value in the scn structure is updated and
subsequently into the pktlog records as well. All the 8 bytes
from the HTT message are required to calculate the MLO timestamp
offset. The calculation of MLO timestamp offset is to be taken
care by the PKTLOG parsing script.

Change-Id: If1d40b4a889e58b358f0feae692958bca2b8e1de
CRs-Fixed: 3074184
2021-11-26 10:13:16 -08:00
Adwait Nayak
3664b4c5c2 qcacmn: FR65980: Add HYBRID TX support for pktlog
- A new pktlog mode called "hybrid", is added for QCN9224 only.
- Create WDI event for hybrid mode
- Add dummy APIs for monitor filter setting
- Send WMI_PKTLOG_EVENT_HYBRID_TX to FW for umac TLV subscription

Change-Id: I47f4e14bfc766f29a0ab4a8c07ab19e0d919e66b
CRs-Fixed: 3074184
2021-11-26 10:13:12 -08:00
aloksing
c520e961d5 qcacmn: Define values as per 11BE
Define MAX MCS to as per 11be
Define packet type as per 11be
Add new RU values
Add new BW gains

CRs-Fixed: 3068482
Change-Id: I18b2460011e2869608fe24743e4373e3e8f3fc1a
2021-11-26 02:06:33 -08:00
Subrat Mishra
813d7d9a43 qcacmn: Define cdp interface APIs to fetch delay and jitter stats
Define a new cdp interface to fetch peer delay stats.
Define a new cdp interface to fetch peer jitter stats.

These interface APIs will be used by upper layers to fetch delay and
jitter stats per peer for telemetry stats feature.

Change-Id: I96ee6a861fa2626e7e1fba3df7df9ec64ff7e946
CRs-Fixed: 3071493
2021-11-12 06:20:07 -08:00
Mohit Khanna
9d2cde1128 qcacmn: Add last TX/RX timestamp in DP peer stats
Add timestamps for last TX/RX in peer stats. This stat is needed to be
passed on to upper layers on demand.

CRs-Fixed: 3059712
Change-Id: If0d8b7dc3c139e4d1b670bf98f3f574f02ea9715
2021-11-08 05:19:46 -08:00
Amit Mehta
9cf3f44770 qcacmn: Update MPDU retries in case of successful transmission
In case of successful transmission If MPDU tx
is retried more than the threshold then
increment MPDU retry count by transmit_cnt / threshold

Change-Id: Idbc7e2d0579ff68e272132fe4ffe9f951c4aacf5
CRs-Fixed: 3058464
2021-10-29 10:23:17 -07:00
Nandha Kishore Easwaran
fa18b0fa88 qcacmn: Add new WDI event for HOST_SW_EVENT
Add new WDI event for WDI_EVENT_HOST_SW_EVENT which will be used by
pktlog.

Change-Id: Ie4e6a167e1118b430f418582af7ea9a8eb3aaf59
2021-10-12 02:29:41 -07:00
Shiva Sankar Gajula
dcbdb29d04 qcacmn: Register separate function pointer to receive EAPOL frames
Add changes to register separate function pointer to receive EAPOL
frames instead of using regular RX path and adding export symbol
for __qdf_nbuf_data_get_eapol_subtype() to access in it multiple
modules

Change-Id: Id05b982d31a7e008536d10dd5281e88cceba96db
2021-09-07 07:59:06 -07:00
Surabhi Vishnoi
91674a4b07 qcacmn: Add support to parse HTT_PPDU_STATS_FOR_SMU_TLV
Firmware sends some ppdu stats required for packet capture
mode in new ppdu stats tlv HTT_PPDU_STATS_FOR_SMU_TLV.
Add code to parse it if feature is enabled via ini and
send the ppdu stats using wdi event to packet capture
component.

Change-Id: I5567007a91093dd342f37458760b3a61c040b779
CRs-Fixed: 3004476
2021-09-03 08:45:17 -07:00