Commit-Graf

1047 Incheckningar

Upphovsman SHA1 Meddelande Datum
Venkateswara Naralasetty
9d022375f6 qcacmn: set init_phase to false for wcn6450
Mark init_phase to false in hal_soc for wcn6450 during
driver load completion.

Change-Id: Ib76b7b7cbacd59cdeada13861bf2146ae47fc82c
CRs-Fixed: 3514777
2023-06-05 16:10:45 -07:00
Adwait Nayak
8ba7bd7ab8 qcacmn: Hal specific changes for TXMON in QCN6432
Hal specific changes for TXMON in QCN6432

Change-Id: I33f60b4891fce0334b8f649f0066deafd1c5e322
CRs-Fixed: 3500892
2023-05-31 23:38:55 -07:00
Yeshwanth Sriram Guntuka
d2b4b226d4 qcacmn: Use prealloc multi pages for direct link CE dest buffers
The IOVA for the buffers that are attached to the direct
link receive copy engine need to be contiguous for optimal
memory mapping on ADSP.

Fix is to use multi pages prealloc when posting buffers
for direct link receive buffer.

Change-Id: Ieb253bd3c1b6550e4c1c63cd587993891ac817f2
CRs-Fixed: 3502633
2023-05-30 08:19:24 -07:00
Amit Mehta
8a4a8722b0 qcacmn: Add changes to Affine away taken CPUs
Add changes to affinie away IRQ from the CPU taken
by audio driver during Pro audio use case.

Change-Id: I881c42e9f951fbf965be6d6a71994fd97791ee48
CRs-Fixed: 3502637
2023-05-27 01:40:30 -07:00
Manikanta Pubbisetty
629e6d0fbe qcacmn: Do not allocate RX buffers for CE5 if PKTLOG disabled
Currently for WCN6750, RX buffers for CE5 (used for PKTLOG) are
allocated although PKTLOG code is not compiled into the driver.
This leads to wastage of memory. If allocations are done
conditionally, then a memory of 2MB will be saved when PKTLOG
feature is not compiled.

Change-Id: Id6c43cd0a1d15d3553e1e37910b067ef705b15f6
CRs-Fixed: 3506469
2023-05-26 18:17:12 -07:00
Venkateswara Naralasetty
9d3b562c0c qcacmn: add NAPI schedule latency and poll time histogram support
Add support for NAPI schedule latency and poll time histogram stats
for WCN6450.

Change-Id: If982ebe4e3cfa80f47c6d2fe9d4cb9dfa318481d
CRs-Fixed: 3485287
2023-05-25 12:08:40 -07:00
Yu Wang
bfebabf7bd qcacmn: extend hif tasklet latency detection
Extend the feature to detect tasklet latency for all CEs.
And also introduce a build flag
DETECTION_LATENCY_TASKLET_MASK to control the enablement
of each, set bit-X to enable detection for CE-X, the
default value is 0x84(BIT(2) | BIT(7)).

Change-Id: I2874d1d50fc5febbf028ebb48ba64e11977c8c34
CRs-Fixed: 3474314
2023-05-24 03:28:48 -07:00
Kannan Saravanan
3782e13b74 qcacmn: Add change to update the cmem info for QCN6432
Add change to update the cmem info for QCN6432

Change-Id: I339f5b613b5a710db55d2a47e366678c4daf05fe
CRs-Fixed: 3495941
2023-05-23 01:19:44 -07:00
Rakesh Pillai
474298906b qcacmn: Fix perf cluster interrupt affinity
The number of perf CPU clusters can vary across
different targets. Currently only the second CPU
cluster is considered as the perf cluster, whereas
there can be more than 1 perf clusters.

Fix this perf cluster derivation for interrupt
affinity.

Change-Id: Ie4407064ac5124fc050715fd75400ca516c9c6b8
CRs-Fixed: 3498024
2023-05-18 21:20:19 -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
Santosh Anbu
19682c944c qcacmn: Enable interrupts for CE4 ring
Enable interrupts for CE4 ring for WIN specific Li York platform.

Change-Id: Ib11d719272cc81279d84c8fe455f2c18dd8ffe01
CRs-Fixed: 3439000
2023-05-14 13:38:07 -07:00
Venkateswara Naralasetty
10766fab5e qcacmn: skip unnecessary reg access for WCN6450
Enable/disable copy complete interrupt in HOST IE register and
clearing the interrupt status in HOST IS register is not required
for WCN6450 as it uses MSI and batch count/intr timer.

Change-Id: I2285651a75d01546498831e91705a989f7f60fd5
CRs-Fixed: 3470364
2023-05-12 13:18:37 -07:00
Venkateswara Naralasetty
81f874fc13 qcacmn: fix batch timer/count threshold register config
Fix the SRC/DST batch timer/count threshold register configurations.

Change-Id: I356fe72e6a2044a12c9e772ed043f2ee286d36c6
CRs-Fixed: 3483043
2023-05-11 06:31:48 -07:00
Linux Build Service Account
7307b0f02e Merge "qcacmn: Initial changes for Pebble bring up" 2023-04-21 09:15:27 -07:00
Kannan Saravanan
299a136fb1 qcacmn: Initial changes for Pebble bring up
Add HAL layer target specific files for Pebble in cmn_dev.

Change-Id: I27d7db6ef4fb1b3ab66424d2a62d80cf3aedee9c
CRs-Fixed: 3351769
2023-04-20 12:13:29 +05:30
Venkateswara Naralasetty
3d36f49c3c qcacmn: Increase WMI CE buffer size for WCN6450
Increase the CE2 buffer size to 3520 bytes to support large
management frame receive.

Since CE2 & CE3 shares common EP in Fw because of which any changes
in buffer size in CE2 need to have similar changes on CE3 as well.
So to accommodate change increase CE3 buffer size.

Change-Id: Ibf01111e9bde65c29ae5a1a8e8e167fcfc64c02c
CRs-Fixed: 3471668
2023-04-19 11:13:03 +05:30
Adwait Nayak
b37c9cf461 qcacmn: Initial changes for Pebble bring-up in HIF Layer.
Add device Id and target type checks for qcn6432 target
compilation.

Change-Id: Id95d5902e3f3711ab6836b72dc3bcb66b1abf3c6
CRs-Fixed: 3351550
2023-04-18 12:44:37 -07:00
Venkateswara Naralasetty
26099afe23 qcacmn: suspend/resume changes for WCN6450
Changes required for suspend/resume support for WCN6450

Change-Id: I4610f6bdb8de92f03884af6c07a5141dd27174be
CRs-Fixed: 3447469
2023-04-18 12:11:24 -07:00
syed touqeer pasha
5b0980f461 qcacmn: Check Tx halt during umac reset
1. Check Tx halt during umac reset and avoid halt if set already.
2. Perform SRNG disable only in case of umac reset

Change-Id: Id364a6460a64e83002b5c96e08031ad2a0bc8fd7
CRs-Fixed: 3459427
2023-04-14 01:54:13 -07:00
Namita Nair
59a36d8e87 qcacmn: Handle deprecated interface calls to IPA
As IPA has moved out of the kernel, ipa_uc_reg_rdyCB
interface call from WLAN is not needed anymore
as ipa_wdi_init_per_inst() initialization call will
handle this. This change will add support to retain
this call only for legacy devices.

Change-Id: Icb479562e091d388e03ef5a38b3e95d4dbf06271
CRs-Fixed: 3459071
2023-04-08 13:33:12 -07:00
Namita Nair
42381bb34d qcacmn: Handle RTPM counter for opt wifi dp
Inorder to keep the PCIe link up during
optional wifi dp transfer the
hif_force_wake_request() is called during
filter addition. This increments the rtpm_get counter.
Now if Wifi is disconnected before releasing the
filters, the corresponding hif_force_wake_release()
call is not made. This causes a mismatch in RTPM GET and
PUT calls and triggers an assert during hdd_wlan_stop_modules().
This change adds a cleanup call to release the force wake
and reduce the rtpm_put counter to prevent the assert.

Change-Id: Idd778275a015922376cf7eb0a7c3d92e75881fe8
CRs-Fixed: 3441186
2023-04-01 01:20:02 -07:00
Pavankumar Nandeshwar
2bea262d35 qcacmn: Change MSI configs for lower MSI line groups
ppe2tcl and Umac reset interrupts need dedicated irq lines.
Hence, group some of the existing dp groups togeather
to share MSI lines to make space for ppe2tcl and Umac reset
dedicated irqs.

Change-Id: I5181caeaeb4d0107b62e7ac812c2f829fd8215a2
CRs-Fixed: 3423553
2023-03-31 13:02:41 -07:00
Yu Wang
c46d796117 qcacmn: trigger panic if completing tasks takes too long
Trigger panic if it takes too long in completing
the tasks. And also modify the maximum retry count
if PANIC_ON_BUG is enabled to avoid false alarms.
It makes debug easier for tasklet stuck and schedule
latency related issues.

Change-Id: I521661c656d227ffb3f4c87ecd56bbfa938c9c25
CRs-Fixed: 3441248
2023-03-31 11:03:54 -07:00
Mohammed Ahmed
b89db375d1 qcacmn: add hif_ce_desc_history to ssr driver dump
Current code doesn't have hif_ce_desc_history in ssr driver dump.
Fix this by adding the two data structs: hif_ce_desc_history_buff
and hif_ce_desc_history to the ssr driver dump regions.

Change-Id: I9256d94db6c3c3a3588e5729b9181efabdaf18ea
CRs-Fixed: 3443230
2023-03-30 14:44:40 -07:00
Nandha Kishore Easwaran
109969b938 qcacmn: Add pci slot to legacy irq names
Add pci slot to legacy irq names so that it is easy to
analyze the interrupts.

Change-Id: I0c11c3399c0b9f1d6d4136d158e5ab4a571f4f52
CRs-Fixed: 3438542
2023-03-30 09:01:12 -07:00
SACHIN AHUJA
21ec2f5d16 qcacmn: Remove the duplicate soc ID entry
Currently 0x400f0000 is assigned to 2 helium targets

Remove WCN3990_v2_2 from the SOC ID entries and keep
correct target for this ID.

CRs-Fixed: 3432410
Change-Id: Iab5c6ade70038953e729e4e7994484d4f192022b
2023-03-28 22:49:26 -07:00
Ruben Columbus
23fbd0d174 qcacmn: remove hal 9224v1
remove 9224v1 hal support and add 9224v1 crash if used

Change-Id: Icf22fa7b65d3d5b8eac44fd876316a4d35829756
CRs-Fixed: 3428599
2023-03-23 13:22:19 -07:00
Vishal Miskin
6c54bc52ed qcacmn: Add atomic ref counter for hif_wake_request
Reference count logic to handle concurrent request of hif wake and hif
release operation by multiple contexts

Change-Id: I4626dec9186cd959192582f8903700080534d227
CRs-Fixed: 3391343
2023-03-20 23:22:25 -07:00
Venkateswara Naralasetty
bd07dadb15 qcacmn: hal changes for wcn6450
Changes required for hal attach for wcn6450.

Change-Id: I7953f14f168b570d598ff88fcdf1f5363e2d4d52
CRs-Fixed: 3383310
2023-03-15 22:38:34 -07:00
Pavankumar Nandeshwar
80d41dc9b4 qcacmn: Handle Umac reset for MLO case
1. Add an API to process trigger_umac_recovery T2H message.
2. Synchronize do_pre_reset, do_post_reset_start, do_post_reset_complete
   messages for all the SOCs and then process these messages in the host.
3. Synchronize pre_reset_done, post_reset_start_done,
   post_reset_complete_done for all the SOCs before sending it to FW.
4. Add a new state in host for trigger_umac_recovery message.
   Ignore back to back trigger_umac_recovery messages received from FW.

Change-Id: Id45d326d63e122834090844e83ad6cc7240f96af
CRs-Fixed: 3425833
2023-03-15 11:20:26 -07:00
Edayilliam Jayadev
63c5956a01 qcacmn: Add APIs to schedule/cancel custom callbacks
Add HIF/CE layer APIs to schedule/cancel custom callbacks.

Change-Id: I9cc7dcf73a726cb1ed2d7945d6ce9e736d42af52
CRs-Fixed: 3408690
2023-03-14 08:45:56 -07:00
Jeff Johnson
83e9a49c12 qcacmn: Fix misspelling "funtcion"
Fix misspelling: "funtcion" => "function"

Change-Id: I3e752b893a07458cc414035c95a8c9f0abe20022
CRs-Fixed: 3430195
2023-03-13 23:54:22 -07:00
Yu Tian
3cbef591fb qcacmn: Fix napi_complete function call limitation
napi_completion could stop NAPI re-queue only if
returned budget is small than limit budget. WLAN
driver IRQ affinity change would force NAPI complete.
In some cases, RX is in busy loop, RX NAPI could be
queued to more than one CPU NAPI polling list, which
will lead system crash. This change is aimed to make
sure that returned budget is smaller than the limit.

Change-Id: I1b93596b8afc3ee09c4caeceb7a7ba98c4bed4d1
CRs-Fixed: 3420953
2023-03-08 12:27:33 -08:00
Venkateswara Naralasetty
a8c2c9d5e7 qcacmn: add RRI on DDR support for WCN6450
Add required changes for RRI on DDR support for wcn6450 as
it support SRRI/DRRI updates over DDR.

Change-Id: I734e177660069e1e21996f1c4489567b3527cabc
CRs-Fixed: 3383301
2023-03-03 05:27:01 -08:00
Venkateswara Naralasetty
fffd884d26 qcacmn: add shadow register config support for wcn6450
Add support to send shadow register configurations to target
for wcn6450. This support is enabled with the feature macros
CONFIG_SHADOW_V3 and CONFIG_ADRASTEA_SHADOW_REGISTERS.

Change-Id: Ib67993ec838195a5fe174d42cf54ddc0075c3bc3
CRs-Fixed: 3381139
2023-03-03 05:26:51 -08:00
Venkateswara Naralasetty
4728143e0e qcacmn: add MSI and timer/batch intr threshold config support
WCN6450 CE provides registers for configuring MSI and timer/batch
interrupt thresholds like Lithium SRNGs.

Configure MSI and timer/batch interrupt threshold registers
during CE ring setup.

Change-Id: Ifa4c5a4d14caa70ae644123409cccc6f56476d85
CRs-Fixed: 3381135
2023-03-03 05:26:41 -08:00
Venkateswara Naralasetty
1067c35404 qcacmn: add ce src/dst desc changes for wcn6450
WCN6450 uses adrastea copy engines with the following changes
for data and control messages between host and target,
 * 40-bit addressing support
 * SRC/DST desc format changes

Add ce desc changes required for WCN6450 data path.

Change-Id: I71f60f8f23aa7eebb9fa3848d33a02d579e9ef7a
CRs-Fixed: 3381129
2023-03-02 23:54:09 -08:00
Venkateswara Naralasetty
ad3cd5fa15 qcacmn: hif/ce changes for wcn6450
Add the following hif/ce changes to add support for wcn6450,
* New host/target wlan ce config for wcn6450
* New service to pipe map for wcn6450
* New host/ce/target table attach for wcn6450

Change-Id: I20fa1410f5e4e7a0146bc2d0b48a18269ca4a8c9
CRs-Fixed: 3381111
2023-02-26 12:33:47 -08:00
Mohammed Ahmed
03dcdab044 qcacmn: add rtpm stats sysfs functionality
Current code allows for viewing Runtime PM stats via debugfs only.
Fix this by adding sysfs viewing functionality.

Change-Id: I97fe054bab5651f538c8d80ad031dc33933946a4
CRs-Fixed: 3414303
2023-02-25 01:29:32 -08:00
Venkateswara Naralasetty
2021fc9249 qcacmn: Move CE descriptor related macros out of qdf
Currently few macros related to CE descriptor are defined in qdf_types.h
Which is not the right place to have such macros. Hence moving them to
ce_internal.h file.

Also, have different macros for WCN6450 as the ce descriptor offsets got
changed for WCN6450.

Change-Id: I20414273793034bbab80304bcd643371d281fb7f
CRs-Fixed: 3386470
2023-02-24 00:05:59 -08:00
Namita Nair
c6a6c4563d qcacmn: PCIe prevent_l1 for optional wifi dp feature
This change will hold the PCIe in L0 state for the
duration of this feature. The hold will be
released after data transfer is complete.

Change-Id: I762bc3423059ad641bdd00ac5b301a1e1b16f6c2
CRs-Fixed: 3406490
2023-02-23 17:20:37 -08:00
Mukul Dhiman
66fa364229 qcacmn: Remove macro ENABLE_10_4_FW_HDR
Remove all occurrence of ENABLE_10_4_FW_HDR and conserve
any logic change.

CRs-Fixed: 3345419
Change-Id: I37993fd2412a99e605290f5a895b7d8d634b5a69
2023-02-13 04:04:52 -08:00
Nandha Kishore Easwaran
f2ffa7ab59 qcacmn: Hif changes for umac reset in QCA5332
Add hif changes for umac reset in QCA5332. Changes are done to read the
umac reset IPC number from dst and request irq for the same.

Change-Id: I0feafb06ef63f37c3ae6db0270bd5ed50debd91d
CRs-Fixed: 3401146
2023-02-12 16:28:00 -08:00
Hariharan Ramanathan
5b8182fd3c qcacmn: Split hif_ahb_get_soc_info_pld function
Split hif_ahb_get_soc_info_pld function as some chips need to get
bar address only and some cmem only.

Change-Id: I804879c3277828068aaead2aacbe67bd8cf32c44
CRs-Fixed: 3392678
2023-02-08 06:56:26 -08:00
Prakash Manjunathappa
3cde321196 qcacmn: Add PEACH device support
Add support for peach device. Add peach conditional statements.

Change-Id: Ia107e60fd00b4938984414fd92d6699d11fd3797
CRs-Fixed: 3394198
2023-02-07 00:54:44 -08:00
Anbarasan Ganesan
f066d5ca6a qcacmn: Use ioremap() instead of ioremap_nocache()
As part of compiling wifi driver in kernel version 5.15,
the kernel API ioremap_nocache() is no longer supported in
kernel version 5.15.

Kernel API ioremap_nocache() is being replaced with
ioremap() in kernel version 5.6

So, bringing ioremap_nocache() API under kernel version check.

Change-Id: I139556e55f8c20093137960f116b3fc067a1829f
CRs-Fixed: 3357183
2023-02-06 13:32:30 -08:00
Wade Song
ff002128c9 qcacmn: Increase the number of pcie slots supported
With some new platforms planned, 5 pcie slots have to be
supported by the wlan driver.

Increase WLAN_CFG_MAX_PCIE_GROUPS to 5 to make sure wlan
probe is successful even when the wlan card is attached
to the last pcie slot.

Change-Id: Iab040a26e58b9d95321c29f88f87b7923198b7dd
CRs-Fixed: 3390735
2023-01-30 21:45:54 -08:00
Mohammed Ahmed
15ec2eab73 qcacmn: add peach specific BAR remap register offset
Current code has incorrect BAR remap register offset defined.
Fix this by adding peach specific BAR remap register offset.

Change-Id: I8bbd6270f502da87fa1ccbcf667662bcf916dc03
CRs-Fixed: 3388309
2023-01-27 18:07:15 -08:00
Rajeev Kumar
b13f3f39a3 qcacmn: Add new line after WoW wake lock log stats
Add new line after WoW wake lock log to assist in debugging
by keeping new stats separate from old stats.

Change-Id: I818635a0afc70c82bf1a6b8e8b4e57c116d2a7e6
CRs-Fixed: 3383789
2023-01-25 23:15:49 -08:00