Commit Graph

307 Commits

Author SHA1 Message Date
Jeff Johnson
af392d97cd qcacmn: Fix dp_internal.h documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_internal.h, 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 duplicate that documentation. The documentation at the
implementation will be removed separately.

Change-Id: I9684f5c2da7edb621a53dfbc5f1f8de2c70d8382
CRs-Fixed: 3373166
2023-02-15 11:36:10 -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
Mukul Dhiman
66fa364229 qcacmn: Remove macro ENABLE_10_4_FW_HDR
Remove all occurrence of ENABLE_10_4_FW_HDR and conserve
any logic change.

CRs-Fixed: 3345419
Change-Id: I37993fd2412a99e605290f5a895b7d8d634b5a69
2023-02-13 04:04:52 -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
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
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
Sai Rupesh Chevuru
9d8b5fa06d qcacmn: Set host inspect in the case of wds_ext
Set host inspect in the case of wds_ext

Change-Id: I5d14aede300694faca6bf81813e4f66752419239
CRs-Fixed: 3377865
2023-01-27 12:56:34 -08:00
Rakesh Pillai
ada0c97d9b qcacmn: Add datapath config event history
Add history to record the config/control events
e.g. peer create/delete/unref-delete, vdev attach/detach
in datapath.

Change-Id: Ic3c8122fca9124e41931ec445946aec5e8863434
CRs-Fixed: 3371899
2023-01-19 02:55:07 -08:00
Tallapragada Kalyan
328ea67a32 qcacmn: enable FSE with MLO support
from Beryllium onwards a single Flow Search Table
will be used across multiple radios. to ensure this
a single FST attach is called for the first SOC's
pdev and FST detach is called only during last pdev
of last SOC. the same FST instance is saved in all
pdevs of all the SOCs

CRs-Fixed: 3366409
Change-Id: I42fbdc6f09fb902021877e100a2831a1a24bc975
2023-01-04 18:30:46 -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
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
Pavankumar Nandeshwar
ab2bd061c2 qcacmn: Enable wbm2sw_release ring for ppe2tcl ring
Enable wbm2sw_release ring for ppe2tcl ring to
handle tx completions

Change-Id: I38e81bb46e376e3f059f321454aa4d241e6aadb7
CRs-Fixed: 3309444
2022-11-23 02:15:55 -08:00
Ripan Deuri
85e7faff70 qcacmn: Add function to check WDS ext peer
Add function to check WDS ext peer.

Change-Id: Ic29cb04fc2830240854921fe3eeadd03e8171979
CRs-Fixed: 3340244
2022-11-21 00:03:45 -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
Chaithanya Garrepalli
16e9e30d49 qcacmn: Disable DP interrupts in force MLO teardown
In force teardown case disable the interrupts before
going down. As target may be still active, we may
still continue to receive traffic. Disabling
interrupts to nsure we dont process interrupts while
cleaning up partner SOC

Change-Id: I7092d398c039302234206cb72f7453b6dc0cbcb7
CRs-Fixed: 3332961
2022-11-17 00:33: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
Yeshwanth Sriram Guntuka
99615e170d qcacmn: Add support for Direct Link refill ring
Add support and ops for initialization and
deinitialization of Direct Link refill ring.

Change-Id: I2c7018c4f8411fb7a590cfbb8b991f9152b22397
CRs-Fixed: 3316656
2022-11-12 01:23:24 -08:00
Yu Tian
0dd0da3ac0 qcacmn: Disable FISA update in suspend state
FISA update may come when target in suspend state, then
UMAC force wake may return failure and lead to system timeout
crash. Change is used to defer the update when resume happens.

Change-Id: If033bed692dccf2d27e9c76825ab2063a3f56841
CRs-Fixed: 3324926
2022-11-09 11:17:01 -08:00
Amit Mehta
f8e6f61b2e qcacmn: Get vdev id from tx descriptor
Currently vdev id is passed from nbuf cb
but vdev_id is not being updated in nbuf cb
which is resulting in passing wrong vdev id to the
packet logging function.

So to fix issue pass vdev id from tx descriptor instead
of nbuf cb and also rate limit the error log in vdev NULL
case.

Change-Id: I69f568b7da52f1c96f208a220c6c4a7f6d98e082
CRs-Fixed: 3327359
2022-11-08 05:10:12 -08: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
Jinwei Chen
abbf1c968a qcacmn: fix compilation issue if WIFI_MONITOR_SUPPORT disabled
fix compilation issue if WIFI_MONITOR_SUPPORT is not enabled.

Change-Id: I6ea15fc0729bc0c999c6f10691200958e538bf79
CRs-Fixed: 3315379
2022-10-20 10:55:04 -07:00
Jia Ding
ca6127c6de qcacmn: Fix build error for telemetry stats
With WIFI_MONITOR_SUPPORT=n and WLAN_TELEMETRY_STATS_SUPPORT=n,
declaration of struct cdp_peer_telemetry_stats within function
dp_monitor_peer_telemetry_stats is not visible.

Hence add WLAN_TELEMETRY_STATS_SUPPORT feature flag for function
dp_monitor_peer_telemetry_stats when WIFI_MONITOR_SUPPORT=n.

Change-Id: I2e4a789552296361c189552707d3e3c441a042e3
CRs-Fixed: 3310407
2022-10-14 15:21:06 -07:00
Yu Wang
7f84ab9a72 qcacmn: fix build failure for WIFI_MONITOR_SUPPORT disabled case
The function dp_monitor_reap_timer_suspend() is not
declared for WIFI_MONITOR_SUPPORT disabled case, which
will cause build failure.

To fix it, declare dp_monitor_reap_timer_suspend() in
'dp_internal.h' for WIFI_MONITOR_SUPPORT disabled case.

Change-Id: Id4d246975ccf9eec06a8c794fbbe71f8a934826b
CRs-Fixed: 3309771
2022-10-14 01:29:14 -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
Rajesh Chauhan
f4b6b093c6 qcacmn: include stdarg header file with correct path
For kernel version 5.15 or later, include linux/stdarg.h in
i_qdf_types.h and for older versions include stdarg.h.
Also remove inclusion of stdarg.h from dp_internal.h,
qdf_trace.h and qdf_types.h files.

Change-Id: I2eaa1af06fda0ac07a1be3d245f197de0b85719d
CRs-Fixed: 3295172
2022-10-05 17:51:31 -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
Pavankumar Nandeshwar
c3630a234b qcacmn: Add ring stats for direct switch rings
Add ring statistics for reo2ppe and ppe2tcl rings

Change-Id: Ib9c15ba2f95d5cb97d238afad8f6f93dc5100e82
CRs-Fixed: 3279422
2022-09-26 02:04:31 -07:00
Amit Mehta
499b2deb3b qcacmn: Fix uninitialized scalar variable issue
Fix uninitialized scalar variable issue

Change-Id: I96163a9163fd4b25a3ce534915353675f582f0c9
CRs-Fixed: 3297589
2022-09-23 06:54:46 -07:00
Chaithanya Garrepalli
daed8f2cc5 qcacmn: Changes for Rx fast flag
Change to avoid processing of extended features
based of Fast RX flag

Also add changes to enable or disable this flag
based on feature settings

Change-Id: I8064780a271f8bdcf396bb9e2e2c14998f195535
CRs-Fixed: 3268842
2022-09-08 12:24:27 -07:00
Rakesh Pillai
d706698dd1 qcacmn: Add support for fragmented history recording
Currently the history recording for any debug purpose
is done using a contiguous memory chunk. For certain
history like tx_hw_ring, tx desc or tx completion desc
history, the amount of contiguous memory required is
very huge (order 7 or 8 allocation), which have a
higher probability of failing.

In order to mitigate the above scenario, introduce the
support for recording debug history into fragmented
chunks of memory, thereby reducing the requirement of
contiguous memory.

Change-Id: Iac4fb38b6d4b095766520899853e68b4c2b83afc
CRs-Fixed: 3282269
2022-09-08 04:38:02 -07:00
Harsh Kumar Bijlani
d12768c4c4 qcacmn: Change order of conditions for peer stats update
Change order of conditions for peer stats update for KPI optimization.

Change-Id: If764ecaf575f9fc60f5c6d3332a7716b6a50be65
CRs-Fixed: 3281386
2022-09-03 00:14:19 -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
Rakesh Pillai
3a7048480c qcacmn: Add reo_mismatch stats for FISA path
Add reo_mismatch stats for FISA path.

Change-Id: I954c9604b98cfb0b08be09ef0bf3e2235f47a3db
CRs-Fixed: 3277338
2022-08-27 22:57:48 -07:00
Pavankumar Nandeshwar
67de6bcbfd qcacmn: Handle Umac post reset at host
Handle Umac post reset and post reset complete
events from firmware.

Change-Id: I76ac1b96f01f026535d31edcbd245b3643ecf6ee
CRs-Fixed: 3267222
2022-08-21 00:37:46 -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
Tallapragada Kalyan
f7a1c7e0c7 qcacmn: Add HW, SW and nbuf prefetch support in Berryllium
Add HW, SW and nbuf prefetch support in Berryllium, this will
ensure we have prefetched the HW desc, SW desc and nbuf by
the time we are in the 3rd iteration of the dp_rx_be_process
first loop.

CRs-Fixed: 3218647
Change-Id: I27d371c5d1c9a37d61e4fc00d5eb03609fad589c
2022-08-11 09:47:27 -07:00
Ruben Columbus
895c8bcde6 qcacmn: add tlv format to buffer along with debug mechanism
use msdu_count and index to occupy buffer headroom within mpdu.
new mechanism to debug buffer while using pf tags enabled

Change-Id: I1b7d8a1d7ec93f51869119294d2f0b14e3909fe9
CRs-Fixed: 3217284
2022-08-03 13:39:44 -07:00
Ming Jiang
53537c67e1 qcacmn: Support none 4k page size kernel
DP uses multi page allocation for tx/rx descriptor.
ID and offset mask of decriptor is based on 4096 which
couples with Kernel's MMU PAGE_SIZE. This cause trouble
when deploy driver on none-4K page size kernel.
Set qdf_dp_blockmem_size to 4096 so that DP won't
depend on kernel page size.

Change-Id: I17f5c10b394e8709e6b4b153f3dd094cf792787f
CRs-Fixed: 3235246
2022-08-03 05:29:55 -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
Amit Mehta
7e799fcbae qcacmn: Fix Rx packet logging issue
Currently while sending nbuf to rx fate logs
we are not removing rx tlv before sending nbuf
to logger which is causing issue of incorrect
packet type issue.

To Fix issue make changes to make sure that
rx tlv is removed and nbuf length is set

Change-Id: Ib56c8e009398b3410c43be910feb4048bfb06b54
CRs-Fixed: 3241828
2022-07-24 23:07:50 -07:00
Amrit Sahai
9ea6f8dc13 qcacmn: Add support for rx stats from REO block
Add support for rx stats from REO block in IPA use case.

Change-Id: I90a6f57507838645dea9095615f378bd5a3a6ffc
CRs-Fixed: 3231322
2022-07-18 17:45:10 -07:00
Jinwei Chen
694a2eb657 qcacmn: fix TX packet logging issue
Packet logging buffer is only 2048 bytes, if copy non-linear
TX packet with skb->len (like TSO) which is likely > 2048,
this will lead to skb panic as packet logging buffer can not
accommodate it.

Only support TX packet logging with single linear buffer.

Change-Id: I1d15f9ab80fcc1720fdb3f7fe8c89e7f5e3c0a79
CRs-Fixed: 3242090
2022-07-14 13:04:57 -07:00
Rakesh Pillai
9ba8236444 qcacmn: Add support to track high watermark for SRNGs
Add support to track the high watermark for the number
of entries which are used at any given instant. This helps
in identifying if the ring size is sufficient or is being
full for certain use-cases.

Change-Id: Id3ffa52c653696699fbcfbb556a815d5f7908863
CRs-Fixed: 3235115
2022-07-11 03:59:38 -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
Amit Mehta
6b576c65bb qcacmn: Add packet logging support for initial 32 packets
Add packet logging support by registering
Rx and Tx callback functions for packet logging of
initial 32 Tx and Rx packets.

Change-Id: I91b59b7c5f65f505e3ee730c497347be28955128
CRs-Fixed: 3224881
2022-06-23 07:03:56 -07:00
Ananya Gupta
8565e7029f qcacmn: Register DP, HTC, HAL modules with Runtime PM module
With restructuring in HIF runtime PM module, modules are
required to register with the HIF runtime PM module. Also,
changes are done in functions of allowing and preventing
runtime PM suspend as part of restructuring.
This change registers DP, HTC and HAL internal modules
with runtime PM module and update HIF runtime PM function
calls with the restructured code of HIF runtime PM module.

Change-Id: I8899a1d3b92a90a05c5eaf4df7609f4008f739f8
CRs-Fixed: 3169372
2022-06-18 23:11:24 -07:00