Commit Graph

4031 Commits

Author SHA1 Message Date
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
Namita Nair
401b28e1b8 qcacmn: Add null check on wmi_handle
This change adds a NULL check on wmi_hdl before
dereferencing.

Change-Id: If00db0c56f33a910f698588f38c4219a4cd5bbf8
CRs-Fixed: 3491231
2023-05-17 19:18:54 -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
Rakesh Pillai
e01279c8cf qcacmn: Include enet.h for ETHERTYPE_VLAN_LEN macro definition
ETHERTYPE_VLAN_LEN is defined in enet.h, which is not being
included in dp_main.c, which can lead to compilation error
if the MULTIPASS feature is enabled.

Include the enet.h header file for ETHERTYPE_VLAN_LEN macro
definition

Change-Id: I589123a0e2161486a430c6e8d6ca18e5907252d4
CRs-Fixed: 3494435
2023-05-14 05:07:29 -07:00
Harsh Kumar Bijlani
ab46f235a0 qcacmn: Update rx_fast_flag for Rx protocol tag feature
Update rx_fast_flag for Rx protocol tag feature irrespective of
enhanced_stats_en flag.

Change-Id: Ibea2869cc182ad7d1683692d86b01de542cbddd0
CRs-Fixed: 3481654
2023-05-14 02:07:07 -07:00
Namita Nair
2613f207e0 Revert "qcacmn: WAR for opt_wifi_dp feature to disable IPA(1)"
This reverts Change-Id: I7aad275f4d86a2ffc239f1fe343de31ec2988fad.

Change-Id: I875e8d15430c3f0a0f4bf10d275b203b24023a64
CRs-Fixed: 3483264
2023-05-12 16:39:36 -07:00
Sai Rupesh Chevuru
1b317b0bf3 qcacmn: received packet matches with mld mac address drop it
In extap mode if the received packet matches with mld mac address drop it.
for non IP packets conversion might not be possible,
due to that MEC entry will not be updated, resulting loopback.

Change-Id: Ibec080b619e9b0a8068e1c90acbcc144d44d8f54
CRs-Fixed: 3485362
2023-05-12 13:18:47 -07:00
Karthik Kantamneni
3987bb28f6 qcacmn: Add support to get Rx contexts count for SOFTUMAC target
Add support to get number of Rx contexts for SOFTUMAC
based targets.

Change-Id: I71ee96e3230a198b82b0e633fbe67a8690097f74
CRs-Fixed: 3486660
2023-05-12 13:18:26 -07:00
Yeshwanth Sriram Guntuka
428903aa33 qcacmn: Add DP descriptor types for direct link
Add DP descriptor types for direct link datapath
related memory prealloc pool.

Change-Id: I8c8be42b0530de39293ad8e45f47e16f90ea7767
CRs-Fixed: 3490102
2023-05-10 14:45:50 -07:00
Srinivas Girigowda
08ea5c2b80 qcacmn: Add support for local packet capture running
Add support for local packet capture running.

Change-Id: Id954c57a32210c180a8e0f9107e2469f96491173
CRs-Fixed: 3415816
2023-05-10 11:51:09 -07:00
Srinivas Girigowda
13554f0cdc qcacmn: Add support for local packet capture stop
Add support for local packet capture stop.

Change-Id: Ib12574f5b418ea009ec35ef85e170bc8c592c86f
CRs-Fixed: 3415812
2023-05-10 11:50:54 -07:00
Srinivas Girigowda
d52311a2b1 qcacmn: Replace IEEE80211_* macros with with QDF_IEEE80211_* macros
IEEE80211_* macros are defined in WIN specific header file which is not
available on MCL side, Hence replace these macros with QDF_IEEE80211_*
macros available in common header file

Change-Id: Ic2caaebacd9edded23aebefab87cd82dbbb06974
CRs-Fixed: 3415721
2023-05-10 11:50:41 -07:00
Srinivas Girigowda
5d8e550bb7 qcacmn: Add support for local packet capture start
Add support for local packet capture start and relevant changes.

Change-Id: I709e41e0be09cf73e93694efc59bfefbf51fe359
CRs-Fixed: 3415788
2023-05-10 11:50:28 -07:00