Commit Graph

169 Commits

Author SHA1 Message Date
Ruben Columbus
4902c68f4d qcacmn: 4k skb buffer change
add new ini to configure skb size and change it in each place its used
correspondingly

Change-Id: Id00c6351bf6bc1b9df5e19064b2057dadd315e9b
CRs-Fixed: 3584462
2023-09-13 14:19:51 -07:00
Sachin Kohli
689990d5df qcacmn: Increasing PPE2TCL ring size
Increasing PPE2TCL ring size from 2K to 8K

Change-Id: I6b76a341ba99e522a86477ff48d50b2682c5974f
CRs-Fixed: 3576181
2023-08-14 03:17:24 -07:00
Chunquan Luo
2dab6c754c qcacmn: Change the minimum limit of dp_rx_sw_desc_num
Change minimum limit of dp_rx_sw_desc_num for memory optimization
on kuno.

Change-Id: I8f2d92286b94b4aba8b865dbc47e69e6b561ce90
CRs-Fixed: 3564817
2023-07-27 22:24:55 -07:00
Santosh Anbu
ba59a82e83 qcacmn: Support INI cfg for mon dst interrupt
Monitor destination ring interrupt processing is configurable.
For improved CPU utilization the batch counter threshold and
timer threshold is updated and also an option is provided to make
this values configurable through INI.

Change-Id: Ibe671927f53f3e8fac7f17540c21a2c7edae427b
CRs-Fixed: 3569505
2023-07-27 04:50:29 -07:00
Hariharan Ramanathan
ab649e0622 qcacmn: Featurization of DP_TX_DESC_POOL_OPTIMIZE
1. In lowmem profiles the number of tx_desc in 4th pool is reduced to
quarter for memory optimizations.
Added new API dp_get_updated_tx_desc which will return the desc value
from INI based on the flag DP_TX_DESC_POOL_OPTIMIZE.

2. Changes to introduce new INI to get reduced desc value for 4th tx
desc pool.

This helps optimize 0.75M per SOC in lowmem profiles.

Change-Id: I033fcaeb843019fb03bb77e0d05a3ebf60fa806a
CRs-Fixed: 3557483
2023-07-25 00:19:37 -07:00
syed touqeer pasha
cfe92008b4 qcacmn: Increase the REO2PPE ring size to 16K
Increase the REO2PPE ring size to 16K

Change-Id: I55c3db729d233ce67f141e3769d56cdb0c028b05
CRs-Fixed: 3516282
2023-07-18 12:50:20 -07:00
nobelj
6f8e9cffb0 qcacmn: Add support to configure rbm id through ini
For legacy tx monitor, we need msdu completion in sequence.
Modifying the return buffer manager id during enqueue will serialize
the msdu completion.

Return buffer manager will be over ride only when tx_monitor
is turned enabled.

Change-Id: I500065077b59b3ea3561ec8fc49af8cbe58c1dfe
CRs-Fixed: 3539636
2023-07-12 19:03:57 -07:00
Prakash Manjunathappa
fab64e0adc qcacmn: Allocate pdev attach bufs from page frag
Use page frag init time rx buffer allocation for efficient usage of memory.
Add ini dp_bufs_page_frag_allocs to disable and revert to original slab
nbuf allocations.

Change-Id: Iac78895addfe9da0118bc071c691a26216d6fda1
CRs-Fixed: 3553800
2023-07-11 12:49:43 -07:00
Devender Kumar
97b397502d qcacmn: Update the MAX value for dp rxdma ring size
Update the max value for dp rxdma ring size to 8192.

Change-Id: I6cb13ac9d25f243d07cd7da1014a21d31835eb81
CRs-Fixed: 3515920
2023-07-08 11:11:25 -07:00
Shashikala Prabhu
7f898dfcc2 qcacmn: Add buffer window for umac reset in progress
When the peer delete timer/vdev manager response timer expires, host checks
if the umac reset is in progress. If so, host will retrigger the timer.
It is possible that the umac reset is just completed and either of these
two timers got expired. In this case, host will assert saying that the peer
delete response/vdev manager response is not received from FW. FW may take
a few milliseconds to send the peer delete/vdev manager response to the
host after the umac recovery completes.

Hence, to avoid the crash, check if the umac reset was in progress during
the umac reset buffer window.

Add the below changes as well,
1) INI support to get the umac reset buffer window value.
2) Renamed the API dp_umac_reset_is_inprogress as
   dp_get_umac_reset_in_progress_state to return either
   CDP_UMAC_RESET_IN_PROGRESS or
   CDP_UMAC_RESET_IN_PROGRESS_DURING_BUFFER_WINDOW.

Change-Id: Ie15ef0731bad4b0ed955a479f00e297b7ba10729
CRs-Fixed: 3522665
2023-07-05 17:19:13 -07:00
Rakesh Pillai
47c1ec75a2 qcacmn: FISA ini movement
Move the non-converged INIs related to FISA
out of cmn DP.

Change-Id: I8b0419a753b3e11d4318f9ddab4dd975ef22786b
CRs-Fixed: 3512036
2023-06-24 13:31:56 -07:00
Venkateswara Naralasetty
748fe0b6d7 qcacmn: Add support for sw2rxdma_link_ring size cfg ini
Add support for sw2rxdma_link_ring size cfg ini.

Also add wrapper function to get the sw2rxdma_link_ring size.

Change-Id: Ic5b17f029fe6c735785701801b75284dd489ac1e
CRs-Fixed: 3525040
2023-06-16 11:33:58 -07:00
Ruben Columbus
d8334769f4 qcacmn: qref debug memory tracker
add multiple history array to keep track of mem allocation and
deallocation for qref table.

Change-Id: I9fa97fbe5a5c36509cbb5a458851a152200318a5
CRs-Fixed: 3475981
2023-06-05 20:24:08 -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
Srinivas Girigowda
3c62dfa3ea qcacmn: Enable Local packet capture ini
Enable Local packet capture ini.

Change-Id: I1f0647e8c97baa8345cecf6da79348867dccd827
CRs-Fixed: 3500137
2023-05-20 15:05:08 -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
Srinivas Girigowda
9de0de3f01 qcacmn: Add support for local pkt capture cfg ini
Add support for local pkt capture cfg ini.

Change-Id: I7b7e50010d71482d97de46d87ed2c70c78e74cd2
CRs-Fixed: 3415783
2023-05-10 11:49:23 -07:00
Pavankumar Nandeshwar
4066ad2431 qcacmn: Allow ds tx descpool to have max size of 64K descs
Allow the ppe ds tx descriptor pool to have a maximum
size of 64k tx descriptors.

Change-Id: I4c09b6337efaabedea93f36a3477f5bdcc32f288
CRs-Fixed: 3468613
2023-04-20 08:50:18 -07:00
Amit Mehta
6d5a37ee2b qcacmn: Add support to enable per link stats
Add support to enable per link stats

Change-Id: I0b73419d09109bc4b4d0469bbc7c3e740cbfe502
CRs-Fixed: 3446850
2023-04-11 11:51:00 -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
Jinwei Chen
c2c0f7f7f9 qcacmn: Support REO2SW ring pointer update threshold configuration
Support REO2SW ring pointer update threshold configuration,
it is helpful for PCIe utilization improvement.
timer based threshold - M: issue pointer updates when M micro
seconds has elapsed.
number based threshold - N: issue pointer updates when N entries
updates occur.

Change-Id: I49ed388520fd52e97e303d6ea9c04ced6cb5cf5f
CRs-Fixed: 3420101
2023-03-08 17:24:33 -08:00
Kenvish Butani
bad3898323 qcacmn: Ini and Config command Support for MLO Link Peer Stats
Add support to enable/disable MLO Link Peer stats through
ini and cfg80211tool enable_ol stats command

Change-Id: Id1229a149befa416d060e1b07eee150e6b295abf
CRs-Fixed: 3397721
2023-03-08 07:43:00 -08:00
Nitin Shetty
0be3bb02d9 qcacmn: enable/disable PPEDS per WLAN soc
Enable or Disable PPEDS for specific
WLAN Soc.

usage:
add "ppeds_wifi_soc_cfg=0x02"
in /ini/global_i.ini to enable
PPEDS only for second WLAN SoC.

Change-Id: I65f138cf37298feac70e76b95c22507e58394618
CRs-Fixed: 3408439
2023-02-27 04:13:33 -08:00
Pavankumar Nandeshwar
0a7d729a98 qcacmn: Reuse the tx descriptors in direct switch
Reuse the tx descriptors released in tx completions
without releasing the associated skbs to reduce
the cpu utilization in direct switch mode.

Change-Id: I4ab3ac58977a626344877b8a818a4dbc4864aaf3
CRs-Fixed: 3393968
2023-02-18 20:50:25 -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
Pavankumar Nandeshwar
3f0f055b82 qcacmn: Change the number of tx descs for direct switch
Change the number of tx descs per soc for direct switch
used for ppe2tcl ring to 2048 from existing 8192 to reduce
buffer usage.

Change-Id: I1e749833002926e9b6b9a84d38651525548dc79c
CRs-Fixed: 3391066
2023-01-30 14:38:50 -08:00
Jinwei Chen
b4f81eace0 qcacmn: Set TX flow queue for TCP ack
If TX data is TCP ACK, configure TX flow index 3 in
SW2TCL data cmd ring descriptor.

Change-Id: Ibd08b13ba8f0481aa11cd9c3dc54a49cd73674fb
CRs-Fixed: 3368303
2023-01-30 01:34:05 -08:00
Nanda Krishnan
afe07d8a36 qcacmn: Updating the PPE2TCL & REO2PPE ring size as 8k
Added changes in wifi module to update PPE2TCL & REO2PPE ring
size as 8k to improve the perf for MLO case

Change-Id: I6ca241c21c44b4cda8869e5e2ae9a4a906d98fc8
CRs-Fixed: 3365361
2023-01-08 05:32:58 -08:00
Sreeramya Soratkal
6eba2a4482 qcacmn: ini config to allocate special TX descriptors of SOC
An INI dp_tx_spl_device_limit is defined and can be used to configure the
limit of TX descriptors that can reserved on the SOC to handle
special frames like EAPOL.

CRs-Fixed: 3343207
Change-Id: Ic84a11249880a3541749a72ac6d60df548f2bc5c
2022-12-29 13:41:27 -08:00
Sreeramya Soratkal
88124ec9b4 qcacmn: ini config to allocate special TX descriptors of pdev
An INI dp_tx_spl_desc is defined and can be used to configure the
limit of TX descriptors that can reserved on the pdev to handle
special frames like EAPOL.

CRs-Fixed: 3343209
Change-Id: I6578bddd1f4ea07528c9f66f778b113ec6fb9e61
2022-12-29 13:41:17 -08:00
Pavankumar Nandeshwar
c811b9d544 qcacmn: PPE-DS feature naming convention update
1. Change the names of parameters and functions related
   to direct switch feature from ppe to ppeds
2. Remove the unused ppe_release_ring

Change-Id: I5a95b1273e338f354903af98158578ac65758a8a
CRs-Fixed: 3345097
2022-12-18 01:11:58 -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
chunquan
e41f2e05ec qcacmn: Optimize wlan memory for kuno
Change minimum limit of dp_rxdma_buf_ring and
dp_ipa_tx_alt_ring_size value for ini may change little.

Change-Id: Ibbf8843b8f21bbfff1db83a0934f95222930b9ab
CRs-Fixed: 3338076
2022-12-01 06:20:47 -08:00
Nandha Kishore Easwaran
7432a2e275 qcacmn: Add field to indicate sw peer filtering
Add a field to indicate if SW peer filtering is needed in
Tx monitor

Change-Id: Id0ed1655dfe51632f0437c4e3e3c2ccd067f75fe
CRs-Fixed: 3333191
2022-11-28 04:58:30 -08:00
Jia Ding
4d49e53c5d qcacmn: Adjust min and max INI values for IPA tx size
On low memory targets, even with current min values, OOM is seen
on driver load time. This requires us to further reduce
the min value.

With 11be enabled, current max value may not meet KPI requirements.

Hence align min and max INI values for IPA TX ring and TX completion
ring size with HOST used ones.

Change-Id: Iedf1c2d4be04d798314e9ba61a844038c5696f45
CRs-Fixed: 3338114
2022-11-26 04:53:19 -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
Pavankumar Nandeshwar
a7ec0b569c qcacmn: Enable ppe ds by default through ini
Enable ppe direct switch feature by default
through ini, and rename the ppe_enable parameter
to ppe_ds_enable

Change-Id: I574838394ab9edd0445f65f81f05566967208276
CRs-Fixed: 3339167
2022-11-19 03:54:54 -08:00
Nanda Krishnan
776f11b082 qcacmn: Updating the PPE2TCL ring max size as 32k
Added changes in wifi module to update the ring size as 32k

Change-Id: I0e81c8b2b2d037f30bcb570e85d97f8ffd14a268
CRs-Fixed: 3326869
2022-11-14 05:42:36 -08:00
Jeevan Kukkalli
3bc974804e qcacmn: Add ini cfg to disable invalid decap type handling
Add ini configuration to disable invalid decap type handling
during rx mon tlv processing. This is a temporary change for
debugging purpose and will be removed once HW issue is resolved.

Change-Id: I75eb53170833224ddd144baf1b1d8034f988dd3c
CRs-Fixed: 3308998
2022-10-20 10:55:19 -07:00
Amrit Sahai
9313b57907 qcacmn: Add support to get jitter stats on peer level
Add support to get jitter stats on peer level

Change-Id: I5e37a24e93cde5e34e561b26c0834d9cfe42bf9f
CRs-Fixed: 3296380
2022-10-20 01:11:44 -07:00
Chaithanya Garrepalli
64c4cb3524 qcacmn: Add ini support for RX low threshold interrupts
Add ini param "dp_disable_rx_buf_low_threshold" to disable
low threshold interrupts on regular rx refill ring. Default
it is enabled.

Change-Id: Ie471a4dc6862cbfe8b1eafe7c7d2ce2e0a7fcb7a
CRs-Fixed: 3313885
2022-10-18 01:42:37 -07:00
Vivek
3b1f7ced17 qcacmn: Add dp ini param for sawf stats
Add dp ini-param to configure sawf_stats.

CRs-Fixed: 3300948
Change-Id: Ifeb6935e2309be1f974c4da30b33a5caca308569
2022-10-16 21:43:21 -07:00
Pavankumar Nandeshwar
004224830d qcacmn: Allocate dedicated tx desc pool for ppeds
Allocate dedicated tx desc pool for PPE2TCL ring
tx completion handling.

Change-Id: I3d3220b9b38b6f24d98ce73cb5273ae4dc6e7f37
CRs-Fixed: 3300660
2022-10-13 15:09:49 -07:00
Manish Verma
bc05063ebb qcacmn: Add support for DS UL processing
Add support for PPE-DS REO2PPE ring processing

Change-Id: I74f4195ce4a58d1afaef132257b969ce38a65e1c
CRs-Fixed: 3278270
2022-10-11 14:23:18 -07:00
Chaithanya Garrepalli
3ed8f4da95 qcacmn: Change RX release max to 32K
Change ini max configurable size for RX release
ring to 32k

Change-Id: I97de3134430e6be5d4217b3cbc773a18463807dc
CRs-Fixed: 3306911
2022-10-08 00:17:59 -07:00
Jeff Johnson
29f3ca2434 qcacmn: wlan_cfg: Fix misspellings
Fix misspellings in wlan_cfg/...

Change-Id: I2370881dd3663238cbbd0417c8c9b4694c5ac27c
CRs-Fixed: 3304704
2022-10-07 19:14:07 -07:00
Ruben Columbus
953a16bb46 qcacmn: delete QCA_TEST_MON_PF_TAGS_STATS for cce/fse stats
delete QCA_TEST_MON_PF_TAGS_STATS to enable stats by default
and just use flag to enable debug nbuf_head dump

Change-Id: I0b0bb627f4d597d28181a11c38fa18b191210da4
CRs-Fixed: 3278411
2022-09-14 23:43:40 -07:00
Chaithanya Garrepalli
cd40aa85ab qcacmn: Add few missing stats
1. Add stats to indicate REO ring size and Rx desc pool size
2. Add low threshold interrupt stats
3. Update SW2RxDMA ring size max to 16K

Change-Id: If84b88bc08e447774ab445df36b9f2f2219356b8
CRs-Fixed: 3286940
2022-09-12 00:28:13 -07:00
Ruben Columbus
734657149e qcacmn: bkpressure control time event
add debug prints and a custom timer for how long to wait to receive next
bk pressure event message.

Change-Id: I5a736b0f134cd179990de536da02967db3e39774
CRs-Fixed: 3273427
2022-09-03 03:20:02 -07:00
Chaithanya Garrepalli
adbb77002a qcacmn: Use different Rx ring mask for ML and non-ML peers
Add framework to use different RX hash values and ring masks
for ML and non-ML peers

Change-Id: I098cb50b8873eb137ce096011d01a5c21aaf854f
CRs-Fixed: 3269916
2022-08-22 14:56:26 -07:00