Wykres commitów

997 Commity

Autor SHA1 Wiadomość Data
Jeff Johnson
7cbbd39379 qcacmn: Fix hif/src documentation
The kernel-doc script identified a large number of kernel-doc issues
in the hif/src folder, so fix them.

Change-Id: Ia944c6c9f1bcb6a8f5f0ff07ca0afa7bf3a40ad0
CRs-Fixed: 3375493
2023-01-20 19:09:30 -08:00
Jeff Johnson
4a8d2ccc87 qcacmn: Fix hif/inc documentation
The kernel-doc script identified a large number of kernel-doc issues
in the hif/inc folder, so fix them.

Change-Id: Idb9a748c71ab71122b74ac9d2665ead474c649ff
CRs-Fixed: 3375492
2023-01-20 13:25:53 -08:00
Nandha Kishore Easwaran
9898b18b1c qcacmn: Add DBR service for 5332
Add DBR service into pipe config for 5332 target

Change-Id: I0a0182a31458adf1ba4b6e848c7c201bc1582bfa
CRs-Fixed: 3379310
2023-01-20 09:07:13 -08:00
Venkateswara Naralasetty
06e90b5374 qcacmn: Add default register values for WCN6450
Add default register values required for WCN6450.

Change-Id: I47880e95cb101ad145d4e750e8811a0153b19482
CRs-Fixed: 3381090
2023-01-20 01:35:27 -08:00
Hariharan Ramanathan
f75a30225c qcacmn: Add changes to move ioremap outside interrupt context
Add changes to move ioremap of PMM SCRATCH register outside
interrupt context, as ioremap in interrupt context in not valid.

Change-Id: I0fa645c55e10a5241011a1f4ffdccdca48c50d29
CRs-Fixed: 3371194
2023-01-10 05:32:28 -08:00
Jeff Johnson
6d84faa9cf qcacmn: Use QDF NAPI APIs in HIF
Currently the HIF code directly calls Linux NAPI APIs. However, the
QDF has abstractions for these. Furthermore, the QDF implementation
properly handles NAPI API changes introduced in Linux Kernel versions
5.19 through 6.1. Therefore, modify HIF to use the QDF NAPI APIs so
that the version-specific changes are only needed in QDF.

Change-Id: Ibc6c69c9add8d2829ac34dcdcf8b2b262f7304b7
CRs-Fixed: 3364162
2022-12-21 13:55:08 -08:00
Yu Tian
d39e5eeaaa qcacmn: Change HIF latency print level
The HIF latency log is outputted to kernel message buffer, which
slows down the efficiency and may introduce process stuck. Change
is aimed to use info high log level to let the log output to
driver log.

Change-Id: I0be4a3f904484305e6c11127f82bb1ea77b33cd9
CRs-Fixed: 3342422
2022-12-05 13:04:06 -08:00
Li Feng
04014003d6 qcacmn: Add timeout of NAPI polling for single MSI case
Observed NAPI of REO2SW1 hard to complete caused by slow CPU/schedule
on REO2SW1, hence IRQ of REO2SW1 keep disabled during the polling which
impact other MSI as well in single MSI case, until hit REO2TCL timeout
and crash.

The fix is complete the dp rx NAPI poll and re-enable the irq if the
irq disabled for long time.

Change-Id: I5e70d9646b78307ab0c35e2ac0d6e3647804c476
CRs-Fixed: 3332143
2022-12-04 10:08:53 -08:00
Yeshwanth Sriram Guntuka
f2bb688784 qcacmn: Modify existing API to fetch direct link dest buf size
Modify existing API used to fetch direct link destination
buffers to also get destination buffer size.

Change-Id: I6c220fe9bbb216f1c0db2e1e38da2ce8314fe47b
CRs-Fixed: 3347321
2022-12-02 21:56:20 -08:00
Hariharan Ramanathan
b673b97a2d qcacmn: Interrupt Changes for QCA5332
Added interrupt registering code for tx monitor and umac_reset

Change-Id: Id76329a908859a512cef23d68a4afbff794af09a
CRs-Fixed: 3340347
2022-11-27 01:50:43 -08:00
Karthik Kantamneni
6ef5d59bee qcacmn: Add Runtime PM last busy history support
Add support to record last busy events on RX CEs,
this helps to check how frequent CEs are marking busy.

Add support to display last busy history and runtimepm stats.

Change-Id: I856ce54a2f1c6b26722d27623343fc0a2c202c6f
CRs-Fixed: 3337902
2022-11-20 22:03:28 -08:00
Linux Build Service Account
9345e3e5b3 Merge "qcacmn: Array Indexing after validating 'ce_id'" 2022-11-20 06:53:44 -08:00
Alan Z. Chen
b589f319f9 qcacmn: Add void keyword to function definitions
Add void keyword to function definitions for
ce_service_srng() and target_if_get_ctx().

Change-Id: I4d74600da82a9f13285a496a2136589b698da017
CRs-Fixed: 3336700
2022-11-17 20:22:25 -08:00
Ananya Gupta
f1f6845bfb qcacmn: Export API to change delay for RTPM timeout
Store ini config delay value and current delay value in RTPM
context
Export API to update delay and get current delay in ms for RTPM
timeout.
Export API to restore delay to default value.

Change-Id: I53e9e17d983c2cc6fe317159c8c46d792e56c04e
CRs-Fixed: 3332132
2022-11-16 15:37:05 -08:00
Yeshwanth Sriram Guntuka
93c0c09c50 qcacmn: Add CE config tables for Direct Link on Kiwi
Add separate CE host, target, and service map config
tables for Direct Link use case on Kiwi.

Change-Id: I84c1af09da401ab739905b96c85417f907b36743
CRs-Fixed: 3335330
2022-11-15 16:02:11 -08:00
Asutosh Mohapatra
1ca035fa80 qcacmn: Add missing hardware info
Define and update missing Helium based target
mappings in qwlan_hw_list.

Change-Id: I9c1aa3d7ce492397e555e59b361f6855bc431183
CRs-Fixed: 3317892
2022-11-12 09:34:20 -08:00
Yeshwanth Sriram Guntuka
9b059a3bc0 qcacmn: Add support for getting CE srng info for Direct Link
Add support to fetch CE srng information used for
direct link datapath.

Change-Id: If38b892b28eba711d7949fa02926205dc601a50e
CRs-Fixed: 3317501
2022-11-12 03:11:01 -08:00
Yeshwanth Sriram Guntuka
e228622034 qcacmn: Add support to configure MSI registers for Direct Link CE
The MSI address and data information for Direct Link
copy engines will be available once the WiFi driver
on LPASS is initialized. Add support to configure the
IPCC address and data values into Direct Link copy
engines at runtime.

Change-Id: I5e7dff90c2f1ff764462c235deb5795ed019a16b
CRs-Fixed: 3316679
2022-11-12 03:10:53 -08:00
Bing Sun
4fb2121bbe qcacmn: Add INI to disable wake IRQ
Some platform would like to disable wake IRQ, so add INI to disable
wake IRQ.

Wake IRQ can't share the same IRQ with the copy engines. In one MSI
mode, we don't know whether wake IRQ is triggered or not in wake IRQ
handler. known issue CR 2055359.

Disable wake IRQ for one MSI mode. If you want to support wake IRQ.
Please allocate at least 2 MSI vector. The first is for wake IRQ while
the others share the second vector.

Change-Id: Id9e54e287f146ff64d94669bbc44dc0a724d9480
CRs-Fixed: 3290867
2022-11-11 03:56:11 -08:00
Bing Sun
186e8421e0 qcacmn: Support one MSI vector dynamically
MSI vector number is defined in platform driver, so use platform
driver API to check whether it is in one MSI mode or not.

In case of one MSI vector, interrupt migration needs to be disabled.
This is because when interrupt migration happens, the MSI data may
change. However, MSI data is already programmed to rings during initial
phase and there is no way to know that MSI data is changed during run
time and reprogram again.

If it is in one MSI mode, disable interrupt migration by adding IRQ
flag IRQF_NOBALANCING.

Change-Id: I54579dfe1e658c1a2c395be93875d013d6e6affd
CRs-Fixed: 3290829
2022-11-11 03:56:04 -08:00
Yeshwanth Sriram Guntuka
2ac8820056 qcacmn: Reduce CE0 src and dest ring size for XPAN usecase
Reduce CE0 source and destination ring sizes for XPAN
usecases to reduce memory footprint based on the
frequency of transactions between LPASS and FW.

Change-Id: I65076a2720fa72d10327981994763dc4ac295ab3
CRs-Fixed: 3319659
2022-11-08 18:52:40 -08:00
Ananya Gupta
bb3702c339 qcacmn: Increase target pipe entries count to 64 for CE2
CE2 ring gets full pretty quickly as target side entries
count is 32, host side config is 64.
Increasing target's pipe entry to 64 as well.

Change-Id: Idbcb3675af0b39fc9741ae68d7ec3f1ad5e67bf1
CRs-Fixed: 3322383
2022-11-07 13:11:07 -08:00
Prasanna JS
adb0db98bc qcacmn: Array Indexing after validating 'ce_id'
Indexing array after checking 'ce_id' for boundary
condition to avoid array out of bound.

Change-Id: Iffa776021dbd70bc135152ad06cb9488a74c335f
CRs-Fixed: 3328146
2022-11-03 06:26:08 -07:00
Kannan Saravanan
234fb9ad6c qcacmn: Initial changes for york (qcn9160) bring-up in HIF Layer
Add device Id and target type checks for qcn9160 target
compilation.

Change-Id: I43fcd4df7a279e92fc545ced3dcee5408da97ac4
CRs-Fixed: 3282629
2022-10-26 01:17:12 -07:00
Yu Wang
cfdcbfe733 qcacmn: capture return code of pld_force_wake_request_sync
Capture return code of pld_force_wake_request_sync and
print it in case of failure.

Change-Id: Idd5058f4e884f28436a3928caf7350ac9446fabd
CRs-Fixed: 3317698
2022-10-21 15:24:08 -07:00
Jeff Johnson
aace982584 qcacmn: Fix misspelling of "possibility"
Fix misspelling of "possibility" in hif_napi.c.

Change-Id: Ibf34e907e07c2c5f95f281487ef90963503a1e37
CRs-Fixed: 3313904
2022-10-20 14:40:03 -07:00
Kannan Saravanan
04a752e875 qcacmn: Initial changes for york bring-up in HIF Layer
Add device Id and target type checks for qcn9160 target
compilation.

Change-Id: I40f5ae3f1ac715f977f9df5a46c71740c61c7399
CRs-Fixed: 3282629
2022-10-18 10:08:21 -07:00
Jeff Johnson
207faf54f2 qcacmn: hif: Fix misspellings
Fix misspellings in hif/...

Change-Id: I8eeefbf714bbb66f61886d9ceabe3f28607b045c
CRs-Fixed: 3304686
2022-10-10 19:21:54 -07:00
Rajesh Chauhan
788ee58105 qcacmn: use dma_set_mask and dma_set_coherent_mask
In kernel 5.18, pci-dma-compat.h is removed and so instead of
calling pci_set_dma_mask and pci_set_consistent_dma_mask, call
dma_set_mask and dma_set_coherent_mask.

Change-Id: I997fc8ec957d19aa8d51c304541ce699b835c1dd
CRs-Fixed: 3298244
2022-10-05 17:51:50 -07:00
Rajesh Chauhan
1cb111d3bc qcacmn: replace PDE_DATA() with pde_data()
In kernel 5.17, PDE_DATA() is replaced with pde_data(). Make
matching change in ath_procfs.c and linux_ac.c files.

Change-Id: Ia198545322146d4adde9330c19b43f5c2ed0dfa2
CRs-Fixed: 3298062
2022-10-05 17:51:38 -07:00
Rajesh Chauhan
c85603d008 qcacmn: replace complete_and_exit with kthread_complete_and_exit
In kernel 5.17, complete_and_exit is replaced with
kthread_complete_and_exit. So if kernel version is >= 5.17,
then use kthread_complete_and_exit.

Change-Id: I4e9a98373197eba4931a8dafe77040448ffb40eb
CRs-Fixed: 3297481
2022-10-05 17:51:25 -07:00
Amit Mehta
b781ebf246 qcacmn: Move Fw diag drain API under feature flag
Currently fw diag drain API is not under feature flag
as we only need to drain the ring in case when diag
events are received on CE7, which in other cases is
resulting in unnecessary error logs being printed.
To fix the issue move fw diag drain api under feature
check.

Change-Id: I7d040fbd1218c5c8ed9a8b2bae58af2f098fee80
CRs-Fixed: 3296285
2022-09-29 10:59:21 -07:00
Nandha Kishore Easwaran
3e59523895 qcacmn: Handle race condition in ce interrupt handler
Fix race condition in dispatch interrupt when CE0 interrupt is called
from irq context in one core while it is called from user context in
ring full condition. This case has to be handled using locks since
calling paralelly from multiple contextx is leading to interrupt
getting disabled and tasklet not getting scheduled. This is leading
to interrupt being in disabled state. Also change th diff_time variable
signed integer to handle a case where taklet is scheduled just after
the workaround kicks in leading to diff_time becoming negative.

Change-Id: I3894ef90ca48f23404bc9529c4b1623841698293
CRs-Fixed: 3297372
2022-09-28 13:25:12 -07:00
Rakesh Pillai
99372a8149 qcacmn: Release RTPM refcount if force wake fails
Currently RTPM refcount is not released if force
wake fails. This leads to mismatch in number of
RTPM get and put during RTPM de-init.

Fix this refcount release if force wake fails.

Change-Id: Ia6d2b4541347615afe46c79ae76114009f7805ad
CRs-Fixed: 3289451
2022-09-14 12:31:29 -07:00
Hariharan Ramanathan
433a137917 qcacmn: HIF changes for QCA5332
1. Changes to support cmem write for AHB devices.
2. Interrupt enablement issue - Incorrect CE address was given which is
fixed.
3. dp_soc_init failure - dev_base_addr of Miami was NULL, which is
fixed.
4. Missing interrupt error logs - Added dummy entires for missing
interrupt in DTS and changes to support shared IRQ in wifi-drivers

Change-Id: I00e7666b2b978c35b5ccec5da21bf442ed0a7998
CRs-Fixed: 3268936
2022-09-13 16:46:32 -07:00
Asutosh Mohapatra
19b08fc8ab qcacmn: Add missing device IDs
Currently HMT, HSP_KAILUA, HSP_WAIPIO, NETRANI_HL, NETRANI_MSL
device ids are not present in host driver code.

To address this issue add these device ids in qwlan_hw_list array.

Change-Id: I6ab7399545204e1df6ada836b7ab092fab064b38
CRs-Fixed: 3271889
2022-09-13 13:51:37 -07:00
Tiger Yu
6f012336ae qcacmn: Limit error logging when ce id does not match to tasklet_entry
Limit error logging when ce id does not match to tasklet_entry's ce
id. And dump all tasklet entries info to get more clue in the next
cycle.

Change-Id: Idcd9cb6ff45ef8e05fcea33cad48fa464e4f9a1e
CRs-Fixed: 3284277
2022-09-13 05:03:36 -07:00
Sajini R
5d150285fd qcacmn: Initial changes in hif for ipq5332 target compilation
Added device ID and target type checks in hif for ipq5332 traget
compilation.

CRs-Fixed: 3273827
Change-Id: I771d741c204695a678bf22bccd039047b9dc8356
2022-08-24 09:01:21 -07:00
Pavankumar Nandeshwar
63ab2d8c33 qcacmn: Hif and tgt_if changes for Umac post reset at host
Hif and tgt if layer changes to handle Umac post reset
and post reset complete events from firmware.

Change-Id: I08bbd90741708fe76b2db0371ccfda7bfe7b0b2d
CRs-Fixed: 3267222
2022-08-21 00:38:00 -07:00
Sajini R
f6060a9296 qcacmn: Define target type macro for IPQ53xx
Define target type macro for IPQ53xx

CRs-Fixed: 3268698
Change-Id: I45ad100afb7378b02ee71b11f6db91bd4b92f9a4
2022-08-19 06:40:49 -07:00
Pavankumar Nandeshwar
1607e73a26 qcacmn: HIF changes for umac prereset handling
Handle Umac prereset event from firmware.

Change-Id: I88a25ae8eb403af40f044de4500ce42729da1e49
CRs-Fixed: 3174560
2022-08-11 15:23:20 -07:00
Yu Tian
11df417c3b qcacmn: Add Link stats check before ring access directly
Throughput based RTPM logic of ring access may fail and
lead to NOC error in some corner cases. Change is aimed
to add additional link states check to prevent invalid SRNG
access.

Change-Id: I7e7edbadfd21b4857efa4faff0ada6d94d682f2c
CRs-Fixed: 3256702
2022-08-08 07:49:39 -07:00
Yeshwanth Sriram Guntuka
b4ff9ea317 qcacmn: Add functionality for rtpm prevent suspend sync
Add provision to call sync prevent suspend which will wait for
system to resume and increment usage_count before returning.

Change-Id: I855e3fc2660dc7f3f78bb70f8eef6228cbef96d3
CRs-Fixed: 3253335
2022-08-08 05:47:18 -07:00
Shwetha G K
72025682f2 qcacmn: Map DBR SVC to CE14
Changes to map the DBR SVC to CE14 on QCN9224 target.

CRs-Fixed: 3212763
Change-Id: I017c0ab03fff6661c883782008e0207806dc426b
2022-08-02 23:39:16 -07:00
Ruben Columbus
7a962c59e6 qcacmn: add new files for HAL v2
add hal v2 new files

Change-Id: I7728be33db7d28e44d04f19c99e8b9f47145f2e3
CRs-Fixed: 3249002
2022-08-01 19:41:18 -07:00
Nidhi Jain
18377a6679 qcacmn: Add qcn9224defs for wkk v2
Added new file specific to qcn9224 v1 defs. Use qcn9224defs.c for v2.
Added changes specific to soc version check.

Change-Id: I5b6aedbb8aba2de847e0f4d47212a25b36bfa7c8
CRs-Fixed: 3243676
2022-08-01 01:34:59 -07:00
Sajini R
bb7fef80bc qcacmn: Add qca5332 target register structures
Add register structures for qca5332 target.

Change-Id: I66a9855bf849374f26de12fa27a0d938d0f39a9f
CRs-Fixed: 3249489
2022-07-26 08:04:00 -07:00
Rakesh Pillai
81603fe08c qcacmn: Fix format specifier for macro which uses BIT()
BIT() is unsigned long int, and is being printed using
an incorrect format specifier. This leads to a compilation
failure.

Fix the format specifier for macro which uses BIT().

Change-Id: I42a71c3c4a388285809ad17dc62a50bf2df13a5f
CRs-Fixed: 3249816
2022-07-25 05:13:39 -07:00
Karthik Kantamneni
50c8489faf qcacmn: Add support to log latest CE descriptor history
Add support to log latest CE descriptor history which helps
to identify CE scheduling/reaping delays when full debug
history dump is not available.

Change-Id: I44a5c86a3e1dd4861bfd2e77b3f772d5d53bcedf
CRs-Fixed: 3225155
2022-07-21 05:50:56 -07:00
Nandha Kishore Easwaran
93bf7e1fb1 qcacmn: Schedule CE tasklet when resource runs out
If there is no resourse to send packet via HTC, then check if interrupts
are not processed from that CE for last 3 seconds. If so, schedule a
tasklet to reap available entries. Also if Queue has reached 1024 entries
within 3 seconds, then also schedule tasklet.

This change is added because there is a case where intermittently
completion interrupts are not received from CE3 and hence adding
this WAR in host to come out of this issue scenario.

Change-Id: I126cd5e678517127659237308f8f6b1313f8f422
CRs-Fixed: 3234943
2022-07-14 01:02:11 -07:00