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
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
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
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
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
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
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
Reference count logic to handle concurrent request of hif wake and hif
release operation by multiple contexts
Change-Id: I4626dec9186cd959192582f8903700080534d227
CRs-Fixed: 3391343
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
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
Add required changes for RRI on DDR support for wcn6450 as
it support SRRI/DRRI updates over DDR.
Change-Id: I734e177660069e1e21996f1c4489567b3527cabc
CRs-Fixed: 3383301
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
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
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
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
Current code allows for viewing Runtime PM stats via debugfs only.
Fix this by adding sysfs viewing functionality.
Change-Id: I97fe054bab5651f538c8d80ad031dc33933946a4
CRs-Fixed: 3414303
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Modify existing API used to fetch direct link destination
buffers to also get destination buffer size.
Change-Id: I6c220fe9bbb216f1c0db2e1e38da2ce8314fe47b
CRs-Fixed: 3347321
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
Add void keyword to function definitions for
ce_service_srng() and target_if_get_ctx().
Change-Id: I4d74600da82a9f13285a496a2136589b698da017
CRs-Fixed: 3336700
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
Add separate CE host, target, and service map config
tables for Direct Link use case on Kiwi.
Change-Id: I84c1af09da401ab739905b96c85417f907b36743
CRs-Fixed: 3335330