커밋 그래프

130 커밋

작성자 SHA1 메시지 날짜
Vivek
a795c47f70 qcacmn: Add CDP call to configure SAWF
Add CDP call to configure SAWF enable
and disable for a soc.

Change-Id: I42f383a2e33808cf91310fd989a2e12db447236d
CRs-Fixed: 3119127
2022-02-09 07:45:51 -08:00
Neha Bisht
5f8681ff1e qcacmn: Enable the 4th Tx. completion ring
Enable the 4th Tx. completion ring to save CPU load
Initialization and interrupt handling for 4th completion ring
is done here.

Change-Id: I2db27218a3c3e14d719d012f03454a6a7aa647fe
2022-02-01 21:04:30 -08:00
Manoj Ekbote
986121cc00 qcacmn: Add INI for memory limit used by Tx capture
User can specify a limit and frames are dropped when the memory
used by packets in the queues goes beyond the limit. This is a
SoC level param.

Change-Id: Id2bd9caaa11d9ea9f9e04c635ff629190bb62916
2022-01-31 19:37:28 -08:00
Neelansh Mittal
fc1320b1fa qcacmn: Fix LF Copyright Markings
Fix LF Copyright Markings

Change-Id: I450e95a08a4cf6105932e98486a185ea1fb2dabf
2022-01-20 11:04:26 -08:00
Neelansh Mittal
596c07c7e6 qcacmn: Add HAL TX PPE data structures
Add the PPE Tx HAL data structures. Also add
dummy functions for reo2ppe and ppe2tcl rings
intializations.

Change-Id: I31fa61a728535c32ea3678407da8ae39f0d9f48d
2022-01-06 10:40:01 -08:00
Rakesh Pillai
125174cdd1 qcacmn: Initialize only one RXDMA Monitor Status ring
For WCN7850, the first mac (i.e.. MAC0) is capable of
2G/5G and 6G data transfer. Hence initialize and use
only on RXDMA monitor status ring.

Change-Id: Idb6e23a887a9ed32a52dd54765e5ed3c6a12df06
CRs-Fixed: 3094138
2021-12-28 10:51:54 -08:00
Naga
984bfae507 qcacmn: Enable timer based low threshold interrupt
Enable timer based low threshold interrupt for waikiki monitor
tx/rx source rings

Change-Id: I8c422b4157d0077cfa211d1b754fecbb2b98fad6
2021-12-22 23:01:55 -08:00
Rakesh Pillai
63233c05dd qcacmn: Initialize only 1 RXDMA DST ring for WCN7850
WCN7850 has only one RXDMA DST ring, as opposed to other
lithium family chipsets, which had 2 RXDMA DST ring.

Refactor the code to pick the number of rxdma destination
rings from CFG context.

Change-Id: I20d475c02690043e969bc7a78605809b8c6814ae
CRs-Fixed: 3084440
2021-12-15 08:43:59 -08:00
Manoj Ekbote
80e882aa2a qcacmn: Intra-BSS changes for MLO
Use chip ID and destination peer to determine the target soc
and partner vdev for Intra-BSS in MLO case.

Change-Id: I709c52e74426c5e81b50c8063cad7669c0e7002d
2021-12-14 18:13:29 -08:00
Harsh Kumar Bijlani
21fb667866 qcacmn: Correct the offsets & byte cnt computation in HTT stats
Offsets used by host for HTT stats are not aligned as per the
structure declaration given in file htt.h .
Make change to use the correct offsets to get the correct stats.

Also make change for byte count computation.

Also make cleanup changes for FR65817.

Change-Id: I8bc6164cc4994c49536d7277779f25b258be1592
CRs-Fixed: 3082742
2021-12-06 21:13:41 -08:00
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
65ace7a19d qcacmn: fix use after free of hal_soc pointer
In case of WIN hal_soc will be freed in wifi down
path, this pointer is not valid at pdev_detach or
soc_detach.

Change to populate dmac source ring flag to dp_soc
as access is needed at pdev_detach or soc_detach

Change-Id: I628746bdd05ba3791d3d0e6b6dfdf160ed368e9a
2021-11-25 21:05:08 -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
Yeshwanth Sriram Guntuka
d9eb751658 qcacmn: Add support to affine individual grp irqs
Add support to affine individual grp irqs to either
perf or non-perf cluster.

Change-Id: I90006645acb82b71c63d2255722e2c67bb7a2f46
CRs-Fixed: 3059676
2021-11-08 05:19:31 -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
Chaithanya Garrepalli
3c3e5709ac qcacmn: Increse num TX rings for QCN9224
This change includes below
1) Changes needed to increase Tx rings to 4
2) Use WBM2SW4 ring for rx error in QCN9224
3) memset srng at alloc to avoid populating RBM_id
in per packet path and enable implicit RBM

Change-Id: Icbd5ac2378273b8f3c6adc41c611e29551fff22f
2021-10-13 13:12:19 -07:00
Rakesh Pillai
e7c9776900 qcacmn: Fix the mask for tx completion near full irq
Currently the IRQ mask for tx completion near full
interrupt is not in sync with the tx completion rings
which are enabled for WCN7850.

Fix the mask for tx completion near full interrupt.

Change-Id: I1432191b260094060873406d48e04fde5b7bc35e
CRs-Fixed: 3052650
2021-10-12 04:52:16 -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
Surabhi Vishnoi
9aaf9e8110 qcacmn: Remove rx packet capture events processing if feature is disabled
Currently, rx packet capture events processing happens even
when feature is disabled by ini. This incurs per packet overhead
in rx path.

The fix is to move all the processing from rx path to packet capture mode
component. Send only wdi event from rx path, when feature is enabled by
ini.

Change-Id: I647256b85117cd3373950c78a5a0ae7d6710e4e2
CRs-Fixed: 2969123
2021-09-03 03:25:02 -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
Yeshwanth Sriram Guntuka
d0abb772f0 qcacmn: Add support to get dp prealloc config
Add support to fetch datapath prealloc related
configuration params.

Change-Id: Iaeac3833fd8e13df6baa9452a7d7f194b86a8bd3
CRs-Fixed: 3012651
2021-08-16 10:34:49 -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
Mohit Khanna
47a165fe8e qcacmn: Config edits for multiple TX rings in HMT
The following configurations are changed
- Change numer of WBM2SWRELEASE rings from 7 to 8
- Use configurable RBM value when enqueuing packets for TX. This is needed
since WBM release ring numbers do not have an easy mapping to RBM values
for HMT1.0.

Change-Id: Idcf9e48e00b7039331fc1837bb1e900b12f19eb3
CRs-Fixed: 2984362
2021-08-05 08:28:52 -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
Rakesh Pillai
37e2c6d9ed qcacmn: Register IRQ for near full irq
WCN7850 has support for near full indication for
the consumer srngs. This interrupt is used to take
preventive actions to avoid ring full watchdog irq
trigger.

Register for the near full irq and add the necessary
ext groups for these near-full irqs.

Change-Id: Ic16381fceabc54e6c52b34dd13abea74cad4d38c
CRs-Fixed: 2965081
2021-06-30 13:47:51 -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
Nandha Kishore Easwaran
718d6aeece qcacmn: Add configurable option for MSI interrupts
Provide multiple combinations to configure the msi interrupts
of DP and CE based on the number of MSIs available in the platform.
Number of MSIs used for CE and DP can be changed by modifying the
MSI assignment table in platform driver. Best possible mask for that
MSI is automatically chosen based on predetermined settings.

Change-Id: I02b44fb033631d69d97f2d8d2d3f698541d37aad
2021-05-13 12:33:04 -07:00
Subrat Mishra
fcb71e35cf qcacmn: Neighbour peers RSSI update debug logs
Add Neighbour peers RSSI update debug logs.

Change-Id: I9de84c94d82aeae641facaf4fd19de8d644d3ff6
CRs-Fixed: 2927427
2021-05-04 06:53:29 -07: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
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
Amir
df60a16001 qcacmn: Disable rxdma1 functionality for LM256 profile
As monitor mode is not supported on LM256 profile,
disable rxdma1 functionality on same

Change-Id: I64e5de02d56801bfd46e32a6c64a1286e4d7ecb0
CRs-Fixed: 2819904
2020-11-18 05:40:30 -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
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
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