提交图

96 次代码提交

作者 SHA1 备注 提交日期
Harsh Kumar Bijlani
f76548dd04 qcacmn: SOC config for HW vdev stats in BE architecture
Add configuration at SOC level for hw vdev stats in BE architecture.

Following config parameters are added:
    vdev_stats_hw_offload: option to enable/disable hw vdev stats
    hw_vdev_stats_timer: timer duration for hw vdev stats

Change-Id: I8cbd2b6a7378d8a9e7de920a3a6fdff0cf7785fe
CRs-Fixed: 3067843
2021-11-30 00:57:43 -08:00
Chaithanya Garrepalli
c42af1f62f qcacmn: Rx path changes for multichip MLO
Rx patch changes for multichip MLO

1. Create ini for rx ring mask for each chip
2. Configure hash based routing for each chip based
   on lmac_peer_id_msb
3. Peer setup changes to configure lmac_peer_id_msb
   to enable hash based routing
4. Rx Replenish changes to provide buffers back to owner
   SOC of reo ring

Change-Id: Ibbe6e81f9e62d88d9bb289a082dd14b4362252c4
2021-11-23 19:28:20 -08:00
Yu Tian
2446f8ed54 qcacmn: Clean up force BA64 ini config
This force use BA64 ini config is no longer needed, because another
gRxAggregationSize can do the same settings and more flexible.
Change is used to remove this config.

Change-Id: Ie780489849f8b701481a628a9bca2b4112460bd8
CRs-Fixed: 3076982
2021-11-22 02:48:56 -08:00
Yu Tian
ac2110769b qcacmn: Add an ini control to disable Dynamic GRO feature
Dynamic GRO feature is enabled by default and aimed for specific
customers. Add an ini control to allow other customers to config
this feature enable/disable.

Change-Id: I7f505599327ac131b3cdac9b4d9e038861b1aeb6
CRs-Fixed: 3074689
2021-11-21 23:59:57 -08:00
Devender Kumar
30482aa5c4 qcacmn: Change buffer replenishment model for SDX+Pine
For IPQ products, there is 1 refill ring which is of hardware type
and host replenishes the buffers onto this ring so that hardware can
use these buffers for Rx.

In IPA offload mode, the buffer replenishment model is different from
the one mentioned above. There are 3 refill rings, out of which,
2 are software refill rings (1 for host and 1 for IPA), and last ring
is hardware ring given to FW.
Ring given to IPA is to refill the buffers after processing the
regular Rx packets and ring given to host is to refill the buffers
after processing of exception packets. Since there are 2 entities to
refill the buffers, the hardware ring given to FW multiplexes these 2
software rings and provides the buffers to hardware.

Make changes to follow above replenishment model for SDX+Pine
integration.

Change-Id: I0d9e4ec811a3023a258e0a6b9ee22ccdffcebafa
CRs-Fixed: 3049633
2021-11-19 03:22:08 -08:00
Yeshwanth Sriram Guntuka
6c7d7a2b2e qcacmn: Set the min tx rings config param to 1
INI config to set the number of tx rings to 1
or 2 does not take effect since the value of
WLAN_CFG_NUM_TCL_DATA_RINGS_MIN is 3.

Fix is to set WLAN_CFG_NUM_TCL_DATA_RINGS_MIN to 1
to allow for a lower number of tx rings cfg.

Change-Id: Idc7881f75d42fabda5d3ed55e74c9eb784f7705f
CRs-Fixed: 3070272
2021-11-08 05:19:25 -08:00
Naga
85bfde2f0a Revert "qcacmn: Enable timer based low threshold interrupt"
This reverts commit Ia33b110337e610ab9b5d7a9cecb61f6952cd3379.

Change-Id: I07e2c8565b2aaa6cfd55b262d65ba0269a0a1d8a
2021-10-22 12:41:13 -07:00
Naga
92ac36e016 qcacmn: Enable timer based low threshold interrupt
Enable timer based low threshold interrupt for waikiki monitor
tx/rx source rings

CRs-Fixed: 3010853
Change-Id: Ia33b110337e610ab9b5d7a9cecb61f6952cd3379
2021-10-12 02:29:23 -07:00
Naga
fa9b23b61f qcacmn: Enable monitor destination ring interrupt for waikiki
Enable monitor Tx/Rx ring interrupt for waikiki

CRs-Fixed: 3010851
Change-Id: I33537f7d4dbab700af7ccdb2ca511531fd3ade76
2021-10-12 02:29:17 -07:00
Naga
df329ebb84 qcacmn: Allocate and Initialize monitor rings
Allocate tx/rx monitor destination rings for waikiki

CRs-Fixed: 3010845
Change-Id: I1c6950188e2693cab648679d34d6731db53978f9
2021-10-12 02:29:11 -07:00
Ruben Columbus
737949c685 qcacmn: change credit ring size max value to 512
credit ring size max value from 32 to 512

Change-Id: Ic02e2522a4772445946d1e746a6791907bdce17e
2021-10-02 06:05:44 -07:00
Chaithanya Garrepalli
4fa2c22c80 qcacmn: Add ini param for reo dest ring
Add ini param for reo destination ring size and
cleanup usage of emulation macro

Change-Id: I6e8e0c2d8f57469289eccd3c12c07f3bf6b47c04
2021-09-16 05:09:44 -07:00
chunquan
14d9d6d697 qcacmn: Support configure IPA tx alt ring and tx ring separately
Add support configure ipa tx ring and tx completion ring for
2.4G and/or 5G separately.

Change-Id: Iafb8fa589ff0cce15609a3dfa2209364291d7cef
CRs-Fixed: 2996604
2021-08-24 11:02:09 -07:00
Chaithanya Garrepalli
0702aaf463 qcacmn: initialize PPE rings
Changes to initialize PPE rings based on ini
configuration

Change-Id: Id6a26b557c45fd78ae17675b0292424e979958ad
2021-08-13 12:04:22 -07:00
Jinwei Chen
8cdc1875ae qcacmn: Set default value 7 for INI dp_reo_rings_map
Set default value 7 for INI dp_reo_rings_map, this is just
one WAR to not block HMT before reo_ring_remap and dp thread
issue is fixed.

Change-Id: Ib2c8ebab936951798112759e1ac0baba85996036
CRs-Fixed: 3005555
2021-08-12 00:56:00 -07:00
Mohit Khanna
af887c113d qcacmn: Changes to Init TX Rings for BE
DP/CFG changes to initialize extra TX/TX Comp Rings in BE.

CRs-Fixed: 2937302
Change-Id: Ia8a8ed717eb0e1bfa9d2e1ff917941a7ea91bc28
2021-06-30 13:49:03 -07:00
Manjunathappa Prakash
cebffa806d qcacmn: Add support for additional REO rings for Beryllium
Beryllium supports additional REO rings to cater increased bandwidth.
Enable additional REO rings.

Change-Id: I5124c92e30e4ac56a78b6f5f38d1c91a2933bba8
CRs-Fixed: 2930184
2021-06-30 13:47:46 -07:00
Jinwei Chen
4083155141 qcacmn: Add support for HW cookie conversion
Support HW cookie conversion for BE platform.

Change-Id: I39058fbf256266557f5e734ba376db4db0731b24
CRs-Fixed: 2929533
2021-06-23 23:32:49 -07:00
Yeshwanth Sriram Guntuka
b5a3efab59 qcacmn: Add ini support to modify IPA tx and tx_comp ring sizes
Currently IPA tx buffers are fixed at 1007 buffers.
Adding INI support to change number of TX buffers at load time.

Change-Id: Ide0357554f34759198276b9699e0e6f4a3e20051
CRs-Fixed: 2957916
2021-06-08 07:35:40 -07:00
Manjunathappa Prakash
14794ee689 qcacmn: CFG INI changes for beryllium targets
Beryllium targets have more number of HW rings.
Add INI changes to allow increase in number of rings.

Change-Id: I73d779334601d3a1c2aefcade1dcf9dd0f2ef761
CRs-Fixed: 2891021
2021-06-05 15:10:50 -07:00
Rakesh Pillai
34b6af18a4 qcacmn: Init-Deinit changes for WCN7850
Add Init-Deinit changes for WCN7850 support
in datapath

Change-Id: I7f9850ee41f4638c6a28b5313549c67876c5f810
CRs-Fixed: 2888556
2021-06-05 15:10:50 -07:00
Manikanta Pubbisetty
f9f324f168 qcacmn: change DP RX packet drop thresholds
The current limits of DP RX packet drop thresholds are huge;
In scenarios, where the processing of RX packets is slow, huge
number of packets will be held in the memory and could eventually
lead to out of memory issues. Reducing the thresholds to address
the problem.

Change-Id: I76a2622fb30cda615aeb27fcc9c8e548ffec3e51
CRs-Fixed: 2941885
2021-05-19 14:38:00 -07:00
Aditya Kodukula
4396086c69 qcacmn: Remove INI parameter gReorderOffloadSupported
As part of WiFi ini clean-up FR, the ini gReorderOffloadSupported,
is identified as an obsolete parameter. Hence it is deprecated.

Change-Id: I7d5ef3b77eb90ccbad1f84ec7d3cce1df761af15
CRs-Fixed: 2896016
2021-04-12 13:04:27 -07:00
Alan Chen
1370e032e9 qcacmn: Update default values of INI items
Update default values of INI items to most commonly used values
in WCNSS_qcom_cfg.ini file on commercial devices.

Change-Id: Ie3a4ce2cbf4bc2352d5ebc5be939a47818a6d594
CRs-Fixed: 2874759
2021-03-11 19:38:51 +05:30
Guisen Yang
b06c25ee09 qcacmn: Reduce the value of WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN
Change the value of WLAN_CFG_RX_SW_DESC_NUM_SIZE_MIN from 4096
to 1024, so that the rx descriptor number can be configured in
the config file of target.

Change-Id: Iedbbf3cbbfd92dc3d955e0e67aac362afbabed45
CRs-Fixed: 2862285
2021-02-09 13:02:31 -08:00
Karthik Kantamneni
47b1fe6415 qcacmn: Add ini configuation for RXDMA replenish buffer pool
Add ini configuration support for RXDMA replenish buffer pool feature

Change-Id: Ib1edf04a61a52bf24dcbc3269df5067b090ad207
CRS-Fixed: 2869350
2021-02-08 10:51:52 -08:00
Amir Patel
76b9febd3d qcacmn: Delay allocation of rings for monitor mode
In existing implementation, for monitor mode below allocation
are done at pdev attach and init time.

	a. 64 monitor buffer allocation for RxDMA monitor buffer ring
	b. Link descriptor memory allocation for monitor link descriptor ring

This memory is waste of memory for customers not using monitor mode and
low memory profile.

To optimize this memory, allocate all buffers and link descriptor memory
at monitor vdev creation time.

Change-Id: I873c76d2f625a782532a101037915b0353928a5b
CRs-Fixed: 2829402
2020-12-29 03:16:09 -08:00
Jinwei Chen
4bb0d61adf qcacmn: set different rx thread default pending threshold
Set different rx thread default pending threshold for def/perf
build.

Change-Id: I35bdac10da80f4cf6e5f3ea6cb499c48ce51f617
CRs-Fixed: 2833939
2020-12-17 15:41:49 -08:00
Yu Tian
abb64b561e qcacmn: Add ini config for force using 64 blockack
Some AP disables AMSDU in BA256 mode, this has draw back
with KPI in HE mode, so leave a config field to use 64 BA
forcibly to make high KPI with these types of AP

Change-Id: Ia69ffe118fd5bbda78cfb98126a483fcf305294e
CRs-Fixed: 2828304
2020-12-07 02:04:36 -08:00
Rakesh Pillai
8f4a2eeaa5 Revert "qcacmn: Add INI support to enabling sending ICMP to FW"
This reverts commit Change-Id: I98f8f751dc75a3d6f2296f0844529e9c72c4090b.
This INI is moved to HDD_DP.

Change-Id: I451fa50621fdc8b6cbe027bdf1495788914481c9
CRs-Fixed: 2824623
2020-11-23 13:19:31 -08:00
phadiman
95b9a6e63a qcacmn: HOST Memory Optimizations (in NSS offload mode)
Number of DP rings used in HOST mode and NSS offload mode differ
and in current scenario the rings are allocated unconditionally.

Allocate only required number of rings based on the HOST mode and
NSS Wi-Fi offload mode and based on the number of radios supported
per SOC.

CRs-Fixed: 2790504
Change-Id: I20ce1908da47c197ea3b406f8704b964f3d8f7d1
2020-11-21 02:20:19 -08:00
Tiger Yu
9fc47f763e qcacmn: Add cfg_dp_sg_enable to get ini key dp_sg_support
Add cfg_dp_sg_enable to get ini key dp_sg_support by cdp_cfg_get.
And add some comments for CFG_DP_SG to clarify more.

Change-Id: I34de242eacbdcf55398afe64b91f5534f205fa22
CRs-Fixed: 2822536
2020-11-20 10:43:43 -08:00
Rakesh Pillai
98f8f751dc qcacmn: Add INI support to enabling sending ICMP to FW
Add INI support to enable the feature of sending
ICMP packets to FW at regular intervals.

Change-Id: I888bb2f65e8a497c3e6541f213def905d6dd0727
CRs-Fixed: 2813169
2020-11-13 15:09:15 -08:00
Yu Tian
76fdb54e96 qcacmn: add an ini field to control rx frame pending check
Add a ini control field to control rx frame pending check
logic in WoW case. In some cases, power consumption is more
important than rx frame ping loss, so add a control flag

Change-Id: I8c4d3725edddb82a0f06dc70c22a8dd5243209f2
CRs-Fixed: 2806786
2020-11-02 01:47:07 -08:00
Yeshwanth Sriram Guntuka
f2c65a9b4c qcacmn: Increase ring size for REO exception ring
Increase ring size of REO exception ring to 512
entries.

Change-Id: Ifd1395578e1f80741208ea2cbb0a82b9b661c01b
CRs-Fixed: 2796249
2020-10-20 19:27:02 -07:00
Radha Krishna Simha Jiguru
3048f53867 qcacmn: Set default REO of radio through ini
Set default REO of radio through ini parameter

Change-Id: I576f3ddffe4d18b955099e0b75ecb297228475da
2020-10-12 06:27:25 -07:00
Nirav Shah
0fb3541617 qcacmn: Add support to configure REO ring threshold
Add support to configure REO ring threshold through ini
for WLAN_DP_PER_RING_TYPE_CONFIG feature.

Change-Id: I02a14adcf243905ab25c2af12cb9499f32ff453f
CRs-Fixed: 2789147
2020-10-04 03:49:27 -07:00
phadiman
b49dc87bc2 qcacmn: Remove duplicate default macros for DP data rings
The number of DP data rings are configured through INI
files and the default number of rings are defined by macros.

Default macros for DP data rings are defined twice, hence
remove such duplicate macros

Change-Id: I62927751731b88ce74c4f2651aa74c19b301b89f
2020-09-29 13:23:24 -07:00
Manikanta Pubbisetty
905d9e33fb qcacmn: add INI to place FST in CMEM
In addition to firmware capability, add INI param to decide FST
placement in CMEM.

Change-Id: Icc5fdfa49e35665b59efce3fc1f1855d84c16140
CRs-Fixed: 2778898
2020-09-17 10:18:38 -07:00
Ankit Kumar
aae959eec4 qcacmn: Add ini interface for frame vdev id check
Add ini interface to enable disable frame vdev id check
in tx.

Change-Id: Ieedfb11c4ff181255150e9350140b6b6c9b425e6
CRs-Fixed: 2756303
2020-09-15 07:19:46 -07:00
Rakesh Pillai
02723d3bc2 qcacmn: Add INI support for SWLM
Add support to enable or disable the
Software latency manager via INI

Change-Id: I4acde4d5d2b9813de8f64f336d4b3b8c25e67b63
CRs-Fixed: 2769029
2020-09-10 01:04:39 -07:00
Sridhar Selvaraj
b257b236b0 qcacmn: Enable data path polling mode based on INI
Enable data path polling mode based on INI
dp_poll_mode_enable. Configure all data path
interfacing rings (UMAC/LMAC) and Monitor rings
in polling mode when NSS offload is disabled.
By default, poll mode is disabled.

Change-Id: I0e51207042811f517a423eb7276e3f33c5313450
2020-09-03 01:58:50 -07:00
Manjunathappa Prakash
93aff9ee1f qcacmn: Add DP INI to tune netdev features at runtime
Add INI to modify the HW checksum capability advertisement.
Add hook to update enable/disable of HW checksum for vdev.

Change-Id: Idd0bad1d39c8411c7b4ef19483aa2c75a756791b
CRs-Fixed: 2732099
2020-08-20 23:08:11 -07:00
Yu Tian
db5374f08f qcacmn: Allow drop pkts when pkts pending is large
On some cases, dp_rx_thread can not handle nbufs in time,
then a large number of packets are pending in
rx_thread->nbuf_queue, which run out of system memory at
last and failed to malloc new buffers for refill buffer
ring, fw crash is encountered. To avoid this, drop RX
packets when the pending number becomes large.

Change-Id: I370ad983b185b6ecb28fa7c0b4820b8edc00c710
CRs-Fixed: 2737191
2020-08-05 20:59:13 -07:00
Mainak Sen
eeaa5b7471 qcacmn: INI param to configure Rx S/W desc count
Rx s/w descriptor count should be configurable from
dp_rx_sw_desc_num INI

Change-Id: Id4bbe261b985219dad8d129679ab85e2dd1ba084
2020-08-04 14:59:06 -07:00
Manikanta Pubbisetty
d315e2d238 qcacmn: add INI to enable/disable RX buffer pool
Add a new INI parameter to enable/disable RX buffer pool.

Change-Id: I186f2e1c4f4d008371efb6b041dc93e029c2f7c3
CRs-Fixed: 2731517
2020-08-01 13:13:40 -07:00
Rakesh Pillai
7bad5a8ce3 qcacmn: Increase the size of reo reinject ring
Currently when running downlink traffic with
fragmentation enabled, the SW2REO is getting
full. Increase the SW2REO ring size to 128 entries.

Change-Id: If43bc72a8cc173d44953ca367573800243b1cc5d
CRs-Fixed: 2738309
2020-07-31 03:44:51 -07:00
Karthik Kantamneni
5e49c050f4 qcacmn: Update supported MAC per target for QCA6750
Currently WLAN_CFG_MAC_PER_TARGET value is two which may cause
dp stats request sent to firmware with unsupported pdev mask.

Update WLAN_CFG_MAC_PER_TARGET value to one for QCA6750 target.

CRS-Fixed: 2738910
Change-Id: I14fdf483bf7d18bb2f8302251ac096885547b43b
2020-07-27 09:03:52 -07:00
Mohit Khanna
42a8d7ef31 qcacmn: Add P2P UDP/TCP checksum offload INI entry
Add support to enable disable TCP/UDP checksum offload for P2p modes.

CRs-Fixed: 2725395
Change-Id: Id482649e501a8f9a8900a92e3e03a48f0e99603c
2020-07-12 01:49:34 -07:00
Aniruddha Paul
915f53b12f qcacmn: Add INI support for peer ext stats
Add INI support for peer extended stats. The extended
stats as of now include per peer Tx/Rx delay per packet
path.

Change-Id: I20d3c7f81f65f4db5f111eb103945151a8cd83aa
2020-07-09 13:43:41 -07:00