Commit Graph

3725 Commits

Author SHA1 Message Date
Naveen S
450a3d2fa4 qcacmn: Fix for qdf spinlock destroyed twice or never created
Fix for qdf_spinlock_destroy being destroyed twice or never created.

Change-Id: Ib45843ecd1c859be112fb75d218aa3d01e6ccdcf
CRs-Fixed: 3471529
2023-05-30 02:57:53 -07:00
Zhiwei Yang
eb95c8b60f qcacmn: Correct spelling errors
Correct spelling errors
s/QCA_PADDR_CHECK_ON_3TH_PLATFORM/QCA_PADDR_CHECK_ON_3RD_PARTY_PLATFORM

Change-Id: I92e22fb116e4505c43c604a86a90ed507a277ef4
CRs-Fixed: 3462780
2023-05-29 20:44:02 -07:00
Karthik Kantamneni
8487e8e057 qcacmn: Add new set and get APIs to manage cfg items
Add new set and get APIs for cfg items so that
those cfg items can be managed from the external
components.

Change-Id: I52eb747fc6c544cfe43273c3b8b0fcc27b5a4a5f
CRs-Fixed: 3502582
2023-05-29 18:27:12 -07:00
Zhiwei Yang
617367f8d2 qcacmn: Fix txrx_stats not completely cleared
In some mode txrx_stats can't be cleared completely such as NDP.
we need to iterate each vdev and clear their tx/rx stats.

Change-Id: Iab45742dbe914b7354ad5593d7ee14b9e109cef6
CRs-Fixed: 3475177
2023-05-29 18:27:01 -07:00
Jeevan Kukkalli
958704d20e qcacmn: Make dp_rx_mon_append_nbuf function public
Function dp_rx_mon_append_nbuf is now accessed outside
the file where it is declared hence make it public

Change-Id: I6b596815a385ba367f70b9e5ea07c94520cca253
CRs-Fixed: 3488043
2023-05-29 12:54:57 -07:00
Amit Mehta
34497ea2d1 qcacmn: Add changes to get link ID in Tx/Rx Path
Add changes to get link ID in Tx/Rx Path

Change-Id: I6b52093697b138e5a5d3878af2dd8db0d65cc488
CRs-Fixed: 3450541
2023-05-28 09:28:46 -07:00
Yeshwanth Sriram Guntuka
4dc955351e qcacmn: Move prealloc DP descriptor types to QDF
Move prealloc DP descriptor types to QDF so that
the macros can be used in HIF layer.

Change-Id: I3de60876735e5aa37d80e9e698a86503b18574c1
CRs-Fixed: 3502615
2023-05-26 16:06:57 -07:00
aloksing
f5b6ab7666 qcacmn: Add check for sawf stats
Update deter stats only when sawf stats is enabled

CRs-Fixed: 3507349
Change-Id: I463750904cdec889274fb94ff1a0544545c1e0d0
2023-05-26 16:06:27 -07:00
Rakesh Pillai
aac2d20277 qcacmn: Add support to get hal_soc handle via CDP
Enhance CDP interface to get hal_soc handle.

Change-Id: I83fbb9d12487668603c90a621ecb9851860b3a56
CRs-Fixed: 3505717
2023-05-26 10:28:07 -07:00
Rakesh Pillai
b361da4fea qcacmn: Cleanup CMEM allocation code
Currently the CMEM allocation code is duplicated
for Cookie conversion and FISA.

Cleanup the CMEM allocation code.

Change-Id: Ifdb912fe464abaa7be0ab8b2294155984dbd662e
CRs-Fixed: 3504668
2023-05-26 10:27:56 -07:00
Surabhi Vishnoi
d1895e091c qcacmn: Add support to parse HTT_PPDU_STATS_FOR_SMU_TLV
Currently NSS is required for packet capture mode to derive tx rate
and firmware sends NSS part of ppdu stats in new ppdu stats tlv
HTT_PPDU_STATS_FOR_SMU_TLV.
Add code to parse ppdu stats if feature is enabled via ini and
send the ppdu stats using wdi event to packet capture
component.

Change-Id: I5567007a91093dd342f37458760b3a61c040b778
CRs-Fixed: 3462436
2023-05-26 04:14:19 -07:00
Namita Nair
ce47d03e6b qcacmn: Fix to release lock correctly in DP_PRINT_STATS
Currently, sysfs_write_user_buffer spinlock is not
released correctly in DP_PRINT_STATS() when the
buffer size reaches max value. This is causing a
soft lockup, when the next DP_PRINT_STATS() call
is waiting to acquire the spinlock.
This change prevents the softlockup by properly
handling the release of the spinlock.

Change-Id: I13c3e26f7a26b501c5d23b8dc4b978f61beeabd0
CRs-Fixed: 3495547
2023-05-26 02:02:33 -07:00
Devender Kumar
ccf5cf6ede qcacmn: Modify the TX ring id for IPA to support split phy
Modify the primary and alternate TX ring ID for IPA.
Primary TX ring id is set to 2, Alternate TX ring id is set to 3.

Change-Id: I88a479f67edc34794ccac5d82c8adc358b27760e
CRs-Fixed: 3445325
2023-05-25 14:00:15 -07:00
Devender Kumar
ba346d4cf9 qcacmn: Fix Tx queue selection when IPA is enable for V2 CPE
When IPA is enable and TX DATA ring mask is not set for
TX ring given to IPA, Host should not select the TX queue
which is given to IPA, hence override the TX queue to 0 if
TX queue id is same as IPA TX ALT data ring.

Change-Id: I37d4ed564ca3333effe83277469ae3a9aecf7295
CRs-Fixed: 3445325
2023-05-25 13:59:48 -07:00
Rakesh Pillai
2453258a96 qcacmn: Pass SoC as args for dp_tx_desc_release for Rhine targets
Due to a change in proto-type for dp_tx_desc_release, there is
a compilation failure for Rhine targets.

Fix the compilation failure for Rhine targets by passing the
required args for dp_tx_desc_release.

Change-Id: I422c0fe3a4e96c9e2c3cd42963236159a71a244e
CRs-Fixed: 3507470
2023-05-24 21:40:13 -07:00
Bing Sun
415a9c3a40 qcacmn: Free every nbuf in the list before reset the list
nbuf is queued to head_nbuf in dp_rx_reo_err_entry_process. Before
reset head_nbuf, free all the nbuf queued to head_nbuf. Otherwise
there is nbuf memory leak.

Change-Id: Ib4bd64b51d750dac972298ddc46acd4294f2ed81
CRs-Fixed: 3449992
2023-05-24 14:28:40 -07:00
Kenvish Butani
0df4b5eaea qcacmn: Optimize DP Rx Error Handling (Part-2)
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
4) Peer_id fix for MLO clients with security

Change-Id: I1c9e6e767bbf6565567d998ae8e1357398de5803
CRs-Fixed: 3486304
2023-05-24 05:19:41 -07:00
Venkateswara Naralasetty
2011633890 qcacmn: fix crash during monitor link desc ring replenish
Currently number of elements per page info is used from the
soc->link_desc_pages for both wbm idle link ring and monitor
desc ring replenish.

Chipsets uses SOFTUMAC architecture does not have WBM component.
So, there is no memory allocation for wbm idle links and
soc->link_desc_pages will not get initialized which results in
crash during monitor link desc ring replenish.

Fix this issue by using the number of elements per page info
from the soc->link_desc_pages for the wbm idle link ring replenish
and from the monitor_soc->mon_link_desc_pages for the monitor
link desc ring replenish.

Change-Id: Ie75561b8e2dd2c926b971c133e9bb704b5901bf5
CRs-Fixed: 3494948
2023-05-23 19:54:11 -07:00
Pavankumar Nandeshwar
5981600c3a qcacmn: Account for global tx desc count during pool flush
Make sure global tx desc count is decremented during
tx desc pool flush

Change-Id: I5ba21cd9a4b1dbd3dbaf55e56a5852fe7703e36c
CRs-Fixed: 3501063
2023-05-23 06:59:50 -07:00
Amit Mehta
382be6ed5a qcacmn: Add new variable to store cfg dp_rx_hash value
Add new variable to store cfg dp_rx_hash value.

Change-Id: Ibac75273d87a6f0870c9d38c97122de3e2775b8e
CRs-Fixed: 3505116
2023-05-23 05:17:05 -07:00
Parikshit Gune
3b770cc5bb qcacmn: Enable/Disable Round Robin core distribution
1. Add ini configuration for enabling round robin flows to
core distribution in FSE

2. Register FSE APIs to CDP FSE ops

Change-Id: Ic61c44eb9bc68a8c1a0116d4e6aa1d54cf489b62
CRs-Fixed: 3505287
2023-05-23 05:16:55 -07:00
Vivek
419c3a57ef qcacmn: Initialize wds ext field in txrx_peer
Initialize wds ext field in txrx_peer.

Change-Id: I0aaedcc7cffc64fb02ba8128985291b431383425
CRs-Fixed: 3504698
2023-05-22 20:15:23 -07:00
Kenvish Butani
c7c2642eef qcacmn: Add Stats support for MLD Interface in STA mode
For both Unified Bonding and Non bonding mld mode,
add Support to get VDEV Stats for MLD Interface on
STA mode for ifconfig and wifitelemetry tool.

Change-Id: Icb528d8738fd932d3f2c057af49fc7af141299e9
CRs-Fixed: 3502731
2023-05-22 07:06:12 -07:00
Sushant Butta
c21470ebff qcacmn: Use monitor pkt tlvs and buffer size for monitor
Use monitor pkt tlvs size and monitor buffer size
instead of data pkt tlv size and data pkt buffer size
for York.

Change-Id: Ifc0d07ed96100ae79e81ac91bccd637e08d71e28
CRs-Fixed: 3494826
2023-05-22 00:10:31 -07:00
Santosh Anbu
4514cc3d43 qcacmn: Avoid resetting monitor buf ring size
Increasing the buf ring size for York is leading to memory corruption
issues.

Adding change to partially revert commit, specific for York alone.
I3099f6526aa11b353c8a5178de450d48f141a461

Change-Id: Ia9836bc982590fbeb14021dcc3b7bc7014d2fa36
CRs-Fixed: 3490257
2023-05-22 00:10:19 -07:00
Srinivas Girigowda
11edfc7c6d qcacmn: Do not apply lpc filter settings to HTT_RXDMA_HOST_BUF_RING
Local packet capture filter settings needs be to applied only to
HTT_RXDMA_MONITOR_STATUS_RING and not HTT_RXDMA_HOST_BUF_RING.

Change-Id: I2a2d2810407941310c88db551894806d0884d157
CRs-Fixed: 3501638
2023-05-20 04:03:47 -07:00
Srinivas Girigowda
c953dbb12d qcacmn: Avoid array out of bound access
Avoid array out of bound access by validating monitor channel band value.

Change-Id: I3b9c272e1fcf0d83a8d08884037af1eeed0a87ce
CRs-Fixed: 3501636
2023-05-20 04:03:37 -07:00
Parikshit Gune
b46533745e qcacmn: Support FSE flow rule push from ECM
1. Adding cmn dev APIs to support FSE block rule add from
ECM for SFE UL flows
2. Send SFE flows to stack post FSE match

Change-Id: I37563592a03e28373ef3e2520a771082c629ccf5
CRs-Fixed: 3499382
2023-05-19 23:26:02 -07:00
Amrit Sahai
249985d15c qcacmn: Add support for peer unmap handler
Call ol_peer_unmap handler when AST_OFFLOAD_SUPPORT
is enable, so that client_disconnect event can be
sent to IPA.

Change-Id: I85efb432f94310c847aeda22a99bd999957c32d7
CRs-Fixed: 3495890
2023-05-19 07:27:37 -07:00
Rakesh Pillai
80c9a09307 qcacmn: Add debug logs in multipass params setting
Add debug logs in the CDP settings for multipass

Change-Id: If5a06cf1caacc80972e71e5e1ff04d9716ac4d02
CRs-Fixed: 3499753
2023-05-18 21:20:29 -07:00
Srinivas Girigowda
30a6417487 qcacmn: Change logs to appropriate log levels
Change logs to appropriate log levels.

Change-Id: I5e0816105282fccad8d17440eee363803f31429e
CRs-Fixed: 3494141
2023-05-18 18:43:59 -07:00
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
Srinivas Girigowda
48cf24b446 qcacmn: Remove trailing newline from the DP Logs
Remove trailing newline from the DP Logs.

Change-Id: Iaf54e57fb44cf7c15d82bd5c0ffb3fc7c3d04a2b
CRs-Fixed: 3492501
2023-05-18 18:42:08 -07:00
Sai Rupesh Chevuru
66d580c799 qcacmn: cleanup the link peers before ml peer deletion
During the target recovery cleanup the link peers
before ml peer deletion.

Change-Id: I23200a448f7a6a38e4b0e94dc95ea33a0b77eb9d
CRs-Fixed: 3496518
2023-05-18 07:16:27 -07:00
Shashikala Prabhu
65e8b2f3d8 qcacmn: Add CDP API to check if UMAC reset is in progress
Add CDP API to check if UMAC reset is in progress.

Change-Id: I9b5891f61278aa6be52ee2e8d5f9de3185d92eef
CRs-Fixed: 3475148
2023-05-17 08:34:56 -07:00
Yeshwanth Sriram Guntuka
45690711be qcacmn: Set to_fw to 1 in HW descriptor for scattered skb
The to_fw bit in HW descriptor is not set for exception
marked skb that is scattered across multiple pages. In the
case of direct link, this would result in crash as TQM
bypass mode is used for direct link vdev.

Fix is to set the to_fw bit to 1 in HW descriptor for
exception marked skb.

Change-Id: I060ad4ad59f85e09f39bd85080e0b3138a39402c
CRs-Fixed: 3490554
2023-05-17 06:24:01 -07:00
Karthik Kantamneni
72b6f50792 qcacmn: Fix compilation errors for softumac target
Fix cfg and monitor APIs compilation error for
softumac based targets.

Change-Id: I6274353a5ebefb25959463c1f642462f8232736c
CRs-Fixed: 3498111
2023-05-16 17:33:49 -07:00
Yu Tian
fc12609405 qcacmn: Add bit mask control for special frame deliver
Add bit mask control for special frames deliver in error
path.

Change-Id: I9f30e53028bf75d02578e5132f62b15ea480d1bd
CRs-Fixed: 3457564
2023-05-16 17:33:38 -07:00
Aniruddha Mishra
ba55e0f2a8 qcacmn: Add Tx TLV Recording support
Add Tx TLV recording support for monitor 2.0
Also add support to control Rx and Tx TLV
recording

Change-Id: I27a0d2c9ea8bdfacd46e6b7188b45b08ed47bbcd
CRs-Fixed: 3422787
2023-05-16 11:43:14 -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
Vivek
7c844f2d3f qcacmn: Handle the HTT message for SAWF peer AST update
When a new MSDUQ is instantiated for a peer, additional
dynamic AST indices are allocated.The new AST indices
should be used in subsequent MSDUs.

Handle the HTT message to update the dynamically allocated
AST indices.

Change-Id: Iea24e1f3523006f40c781abdc3c176ba25ecd5a5
CRs-Fixed: 3449259
2023-05-14 08:12:02 -07:00
Neha Bisht
53800babd2 qcacmn: Update reo pointers for new primary Qref table
Update reo pointers for new primary Qref table.

Change-Id: I3ac5cdd39f91ae84ecb595d613574bd7ee127d99
CRs-Fixed: 3486401
2023-05-14 08:11:52 -07:00
Rakesh Pillai
4bb252b2a3 qcacmn: Featurize wlan repeater handling in multipass
Currently the packet tx handling for AP-multipass
assumes wlan repeater to be present. For targets like
qca6490, kiwi etc, wlan repeaters are not supported in
the network topology.

Hence to skip unwanted tx packet copy in per-pkt path,
move the code to handle packet tx to waln repeater in
multipass mode under a feature macro.

Change-Id: I8bb3fbc4f3de76c3ae04978d12d369fad5d2553f
CRs-Fixed: 3491508
2023-05-14 05:07:40 -07:00