Commit Graph

258 Commits

Author SHA1 Message Date
Srinivas Girigowda
221a245242 qcacmn: Optimize Tx/Rx path stats logging
Optimize Tx/Rx path stats logging.

Change-Id: I3f05c4a49340400f3ba7edb74e744035f6a1641f
CRs-Fixed: 3492611
2023-05-18 18:43:36 -07:00
Namita Nair
22d4ab462c qcacmn: Fix Hardware Tx completion latency stats
Current Hw Tx latency stats logs over 50 lines. This
change will reduce the stats to a concise logging.

Change-Id: Ia449ca1d97eabac069a1e8b46c64a73c4ab912ed
CRs-Fixed: 3299078
2023-05-18 18:43:24 -07:00
Srinivas Girigowda
6eaf41462a qcacmn: Add context to the logs
Logs without meaningful message or values serves no purpose in debugging.
Hence, add more context to the logs.

Change-Id: Ia463d239a9bf26f292a11bcc71cb1379374c45e4
CRs-Fixed: 3492593
2023-05-18 18:43:13 -07:00
Srinivas Girigowda
4f720afb5e qcacmn: Log Tx/Rx MCS stats as part of Tx/Rx path stats
Log Tx/Rx MCS stats as part of Tx/Rx path stats.

Change-Id: Idd2caf5fe5343a56440e7b501f22fe10c16e8010
CRs-Fixed: 3492558
2023-05-18 18:43:01 -07:00
Srinivas Girigowda
7c8eccb50f qcacmn: Log tx drop counters in Tx/Rx path stats
Some of the Tx drop counters are missing in Tx/Rx path stats.
Hence add them.

Change-Id: I24f7aa946050944c6a434b5d14ce4e17d9330089
CRs-Fixed: 3492548
2023-05-18 18:42:50 -07:00
Srinivas Girigowda
07bdb1114b qcacmn: Remove trailing comma/period from the DP logs
Remove trailing comma/period from the DP logs.

Change-Id: Ifdaf508157274c44f04e775c1883c4eaa2924c44
CRs-Fixed: 3492731
2023-05-18 18:42:28 -07:00
Srinivas Girigowda
363262cd30 qcacmn: Remove __func__ from the DP logs
Logging macros already takes care of adding function name.
Hence, delete the occurrence of __func__.

Change-Id: I44ef5d7f030eba16decb9611f16001c6e9d42b3b
CRs-Fixed: 3492505
2023-05-18 18:42:18 -07:00
Kenvish Butani
c0fe52d4c6 qcacmn: Get vdev stats based on arch
With Single Netdev Unified and Hybrid Mode,
the calculation of vdev stats is changed as
per the mode. For LI platforms the path
to get vdev stats is still same while for
BE the vdev stats config path is different.
Introduced Arch ops to handle this diversion.

Change-Id: If4f0f49e78d35126942cd3f1872a5856e4d0f5ba
CRs-Fixed: 3482567
2023-05-15 03:45:15 -07:00
Kenvish Butani
ef68ac521f qcacmn: vdev stats Support for MLO Hybrid Mode
Add vdev stats support for DP MLO Unified
and Hybrid Mode.
Add new CDP API for getting vdev stats for
NON_MLD interface.
Add support to get vdev stats for specific
vdev which is a part of MLO.

Change-Id: I72c8b25958649d473e1b65cee21810cd86951187
CRs-Fixed: 3455607
2023-05-15 01:28:24 -07:00
Amit Mehta
2debf5d6e6 qcacmn: Add support to print per link stats
Add support to print per link stats

Change-Id: Ifd1c1b5c075401a1545bcaaf76e1c79706a86974
CRs-Fixed: 3442916
2023-05-07 18:10:59 -07:00
Jeevan Kukkalli
794367b541 qcacmn: Return missing link and mon desc and free associated buffers
It is observed that in some corner cases msdu count received
in montior destination ring descriptor is unreliable as a
result some of the link descriptor and associated monitor buf
descs are not returned. This change return such missing link/buf
descriptors and free associated buffers.

Change-Id: Iaad476b8e7a0372122981fd29c1f6e4685137817
CRs-Fixed: 3483157
2023-05-04 04:35:03 -07:00
Amrit Sahai
9fea4029b7 qcacmn: Fix printing of stats for TX ring for SDX_75
In SDX_75, doorbell register is only writable not readable
so fix printing of stats for TX ring.

Change-Id: I058c4241b9c91902f32ed76f099f7501e667c78b
CRs-Fixed: 3436677
2023-04-17 07:08:14 -07:00
nobelj
0660a65062 qcacmn: Add fix to display WDI event and stats count
On txrx_stats 260, wdi event stats are displayed with content as zero.
Which need to be displayed only on non zero value.

Change-Id: I5ad4595e35e977dd141584c92cdc164e153b7c0f
CRs-Fixed: 3454039
2023-04-12 01:33:26 -07:00
Azmath Mohammed
800bc3ca85 qcacmn: Initialized the defined arrays to NULL
Arrays are not initialize and due to which
elements in array might be used uninitialized.
To avoid this case, arrays are initialized to NULL.

Change-Id: Ib83c8f512369f877b9c39d9e6eb431e9bdca7ad9
CRs-Fixed: 3449024
2023-04-05 14:05:46 -07:00
Harsh Kumar Bijlani
caa9b49954 qcacmn: Consider 4 address repeaters also for vdev stats
Consider 4 address repeaters also for vdev stats when operating in
WDS Extended mode.

Change-Id: I91d9bbeb2b917154da730b22b46645e76fa55c6f
CRs-Fixed: 3437803
2023-03-31 06:06:38 -07:00
Parikshit Gune
1598a12f5c qcacmn: Add RX stats support for Direct switch
Add support to send RX stats when Direct switch is
enabled. For WDS extended mode get the stats from
peer object, else take it from vdev object. These will
be accumulated by PPEDS module

Change-Id: I1f73c50679c416536cfc1ebaaeaec9b307e8bf56
CRs-Fixed: 3421251
2023-03-30 21:45:28 -07:00
Karthik Kantamneni
0562ed7a5e qcacmn: Code to init/deinit SOFTUMAC based Rhine architecture.
This code helps to initialize and deinitialize new SOFTUMAC
based Rhine architecture.

Change-Id: I374140ccb3b31e9351c6e683c77d81a5a876472a
CRs-Fixed: 3382913
2023-03-28 11:30:30 -07:00
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
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
Harsh Kumar Bijlani
2d75a88f1e qcacmn: Fix MLO link stats issues
Add link_id check while aggregatin stats into vdev at 
time of peer unmap, otherwise vdev stats are aggregated 
twice and hence give incorrect output.

Also comment out link_id fetch in BE Rx path as it is 
currently not enabled.

Change-Id: I91ceab4c6380bbd6e0cb2717adb2413e9e8e4221
CRs-Fixed: 3435688
2023-03-17 12:42:38 -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
Amrit Sahai
ee22464bee qcacmn: Add support to aggregate Link level stats
Add support to aggregate and ship MLO link stats
for ML peer.

Change-Id: Icb6c7b66d6f5c27e8a8f99655cf468e90c655ad6
CRs-Fixed: 3397721
2023-03-08 07:42:38 -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
Kenvish Butani
3062af6ed0 qcacmn: OOB crash fix due to Invalid peer index
In print_peer_stats function while printing REO Q
ref. table if the input peer is MLD peer then the
API to check a valid MLD peer, returns NULL, hence
calculated peer index is invalid causing OOB array
access for REO Q Ref. table resulting in crash.
Fix, For MLO Link Peer REO Q ref table is not
updated and hence return from function without
printing. For MLO MLD peer update the API to check
the peer type and update peer index accordingly.

Change-Id: I66208410bd7a44d381c470621d10c118040d903a
CRs-Fixed: 3401569
2023-02-12 09:22:50 -08:00
Varsha Mishra
d6afad86bc qcacmn: Add global context
Global context will contain fst context, fst ref count
and global desc count.

Change-Id: I272fa2c3b8945822268d29b6c329df3f659753d4
CRs-Fixed: 3392039
2023-02-12 03:21:18 -08:00
Jinwei Chen
c4db9c63b8 qcacmn: remove raw mpdu check in dp_rx_reo_err_entry_process
Raw mpdu check in dp_rx_reo_err_entry_process() is introduced
from change "Free the raw mode mpdus in REO error ring",
it is fixing the low memory issue during MLO STA T-put test
which reports REO error code 0 - HAL_REO_ERR_QUEUE_DESC_ADDR_0
frequently.
this introduce regression for SAP certification case 4.3.3.1.

it seems REO error 0 is hard and not expected to be reproduced
during MLO STA T-put test, remove the raw mpdu check in
dp_rx_reo_err_entry_process() to not block SAP certification.

Change-Id: I509e80eb38d57f20b24c32ba1da2ad7132358030
CRs-Fixed: 3387453
2023-02-07 04:55:44 -08:00
Yu Tian
4bb2e1a3f2 qcacmn: Add SA check for Decrypt error frame
Usually decrypt error frames will be reported and cause
a disconnection. In some cases, the disconnection is unwanted.
Change is aimed to do additional check for frame SA, if it's
received from a valid peer, then don't report it to protocol.

Change-Id: I19d9acffc5ebd2c20abdf19eebc02f6875f762ca
CRs-Fixed: 3363352
2023-02-07 00:54:33 -08:00
jinbaoliu
8f331d9d7e qcacmn: Fix a memory leak issue
This change will modify a function using qdf_mem_malloc()
does not call qdf_mem_free(), contributing to memory leak.

Change-Id: I2bffae4c4edacc1bd454b3992af55ab954d0a031
CRs-Fixed: 3375124
2023-02-06 11:35:40 -08:00
Nanda Krishnan
d30d545aee qcacmn: Counters to track when wifi firmware drops in Tx path
Incremented an counter when wifi FW drops the packet in DS mode
with reason as FW2WBM_TX_STATUS_DROP and we can dump it
via 260 output

Change-Id: Ieb52b0af6dca66732f34cc7f1cfba5c467e9507f
CRs-Fixed: 3383509
2023-02-05 18:57:43 -08:00
Neha Bisht
30bc8285d2 qcacmn: Add global context for maintaining descriptor count
Add global context to maintain descriptor count at global level.

Change-Id: Ibfe3379bb4a747530794956cc0cba31e423598d3
CRs-Fixed: 3334340
2023-02-03 05:57:55 -08:00
aloksing
db9c174c07 qcacmn: Add vdev id in cdp get peer deter API
User vdev id to get peer deter stats.

CRs-Fixed: 3380939
Change-Id: Ib843849adaaf7f85dd4108e96e5a2191ce1c0a43
2023-02-03 03:39:53 -08:00
aloksing
01569fa038 qcacmn: Get channel utilization from dp pdev
Set channel util stats to dp pdev from channel stats event

CRs-Fixed: 3380939
Change-Id: Ib908946a42077f936402afbe846a835cb91b0a8d
2023-02-03 03:39:40 -08:00
aloksing
1442fb17b6 qcacmn: Get deterministic stats from DP PDEV
Add cdp layer API to get stats and
Copy pdev deterministic stats from dp_pdev to cdp structure

Change-Id: Ia7dbbe4cfe7ebe66a040879144505b17aaaa625a
CRs-Fixed: 3380939
2023-02-03 03:39:13 -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
Chaithanya Garrepalli
b17c727a41 qcacmn: Changes to send REO command on appropriate SOC
Added changes in below API to avoid sending REO command
on non-primary SOC for MLO peers.
1. dp_get_host_peer_stats
2. dp_set_pn_check_wifi3
3. dp_peer_ctrl_frames_stats_get

Change-Id: Ia2631b2ab80d80028743b0d6255158bd6bd76e88
CRs-Fixed: 3384398
2023-01-26 22:21:19 -08:00
Jeff Johnson
202dbe8432 qcacmn: Fix dp_stats.c documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_stats.c, 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 remove that documentation. The documentation at the
interface will be added separately if it is not already present.

Change-Id: Ic6463cb4acf49758ac78c4ac464b7e55133ecca4
CRs-Fixed: 3373155
2023-01-24 09:40:47 -08:00
Prakash Manjunathappa
3167a36a06 qcacmn: Fix rx_mpdu_received and error stats reporting to CNE
Current rx_mpdu_received and rx_mpdu_error stats reporting is incorrect.
rx_mpdu_received would be rx_mpdu_delivered + rx_mpdu_errors.
Also get combined rxdma_errors(rx_mpdu_errors) handled across host and FW.

Change-Id: Icbfeaffd7cd27d7f894df2d39add9cc7b47714be
CRs-Fixed: 3333010
2023-01-20 05:18:54 -08:00
Jinwei Chen
ea4f290e7d qcacmn: support RX MCS12-13 rates in FW RX pdev stats
support RX MCS12-13 rates in FW RX pdev stats

Change-Id: Idfe41884a9034eb30f792110ba747eb06cd0261d
CRs-Fixed: 3380204
2023-01-17 07:34:32 -08:00
Mukul Dhiman
bd70c9f398 qcacmn: remove unused var in dp/wifi3.0/dp_stats.c
remove unused var and declarations in dp/wifi3.0/dp_stats.c

CRs-Fixed: 3284798
Change-Id: I6293f2246b4d6e3e57cecd2a62ee7b17dd221f8a
2023-01-08 23:17:24 -08:00
Amrit
1833aa0e7f qcacmn: Add support for stats in IPA Architecture
Add support for stats in IPA Architecture.

Change-Id: I38706503719f6236fa1081342e9eb1f0bd0ba1c2
CRs-Fixed: 3345292
2022-12-29 18:34:12 -08:00
Tallapragada Kalyan
80e1cfff99 qcacmn: add new fields to flow rule HAL API to support PPE
waikiki supports sending a packet from REO2PPE if a flow
rule matches. these changes are added to take advantage of
this HW feature when ever we are adding a flow rule

CRs-Fixed: 3359141
Change-Id: I8fedfcc759bc0427d71d3bb615e61ba38577c5c0
2022-12-21 15:56:57 -08:00
Harsh Kumar Bijlani
e94a73784a qcacmn: Add support to drop tx mcast frames in WDS extended mode
Add support to drop tx mcast frames in WDS extended mode

Change-Id: Ia5af3b31c95393eb9c8af6b92ddeced6ac7a8d3d
CRs-Fixed: 3359296
2022-12-20 11:57:01 -08:00
Rakesh Pillai
d9e0ee2250 qcacmn: Print BW counters for 320 MHz
Currently the datapath stats do not print the
packet count for 320 MHz bandwidth.

Add support to print BW counters for 320 MHz.

Change-Id: Ic9579a1860e6aca442f7bc4a3b92930e8506e9bd
CRs-Fixed: 3359372
2022-12-18 12:13:04 -08:00
Nanda Krishnan
66fd581109 qcacmn: Printing Tx Desc in use count for DS mode
Requirement:
As part of serviceability for DS, display the number
of Tx descriptors currently in use by DS module
via “cfg80211tool athXX txrx_stats 260” like non-DS.

Snippet of log/code of Non-DS:
DP_PRINT_STATS("Tx Descriptors In Use = %u",
                       soc->stats.tx.desc_in_use);

Fix:
Introduced a new ops (dp_tx_ppe_ds_inuse_desc)
to display the current Tx desc in use.
dp_ppe_ds_inuse_desc API will be registered
to dp_tx_ppe_ds_inuse_desc in initialization
and it will be invoked from dp_print_soc_tx_stats API
to display the in_use desc via 260 command

Change-Id: I18971fc5d4cb5eb5437b012e3b89db7c9c2446b4
CRs-Fixed: 3352686
2022-12-13 05:48:11 -08:00
Jinwei Chen
1bf08f3566 qcacmn: Add TX completion ring desc sanity check
Suspect HW update WBM2SW ring HP, but the ring entry contents are
not updated accordingly which then host will fetch one stale ring entry,
this makes other TX packet are freed unexpectedlly.

Add change to detect this situation earlier, if HW cookie conversion is
done, then invalidate 2nd dword for upper 32bits of VA, so next time when
reap this ring entry contents to know if this desc is updated by
HW or not. if HW cookie conversion is not done, then compare the PA in
buff_addr_info with PA in current TX desc to check.

Change-Id: I351eb4f860216fc618ff28736d4832fcec45dcc5
CRs-Fixed: 3345935
2022-12-07 09:47:10 -08:00
Pavankumar Nandeshwar
e5534b1953 qcacmn: Register ppe2tcl and reo2ppe ring interrupts
Enable and register PPE2TCL and REO2PPE ring interrupts
for direct switch
Set interrupt timer threshold for ppe2tcl ring as 30 us.

Change-Id: Ida1ff6c3c2000f16f07960f7eae0d10edc337dc0
CRs-Fixed: 3341790
2022-12-02 21:56:01 -08:00
Yu Tian
5a6d2c2374 qcacmn: Optimize RX hw stats flow
Only 8 RX data TIDs are used, so HW stats query only needs to update
these TIDs info to save command executing time. Change is aimed to
reduce the TID number and use only one REO flush command for overall
REO cache flush.

Change-Id: Ib642451b9f07f62198126c45644742e1908280cd
CRs-Fixed: 3325964
2022-11-25 12:35:53 -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
Sreeramya Soratkal
97b9620964 qcacmn: Add stats to indicate drop in EAPOL frames
Add the stats to indicate the packet drop for EAPOL packets.
This will be useful for the debug of EAPOL packet drop.

CRs-Fixed: 3329895
Change-Id: I5e0abb4e574116a55de124c0012c17154c7c63da
2022-11-16 13:39:20 -08:00
Chaithanya Garrepalli
67fa8470e3 qcacmn: WAR to avoid processing corrupted packet
In defrag path match addr1 with VAP mac address
and if there is mismatch do not process considering
it as corrupted packet

Change-Id: I003c07949e760ff4e64a7d22bfbefc25cc817ae2
CRs-Fixed: 3327977
2022-11-07 13:11:20 -08:00