current pci version of sleep_state_adjust is not supported on srng based targets.
Change-Id: I6ff0c78681cc15c677b6458b3a7d8b571a051925
CRs-Fixed: 2090590
Stats printing with excessive loops should not go to the console.
Avoids watch-dog bites.
Change-Id: I7b0f9d73139dff97c16f492cbd1cb2d255255b3e
CRs-Fixed: 2091039
Using the same MSI for wake and copy engines has a number of negative
side effects. Instead, set aside a whole MSI just for the wake
notification from firmware.
Change-Id: If871b88ca255ad970dabb4a7773d2b4d3b71c3fe
CRs-Fixed: 2055359
With SLUB build in Low memory condition rx processing is taking
more time, reduce CE msg flush count for fastpath in SLUB build.
Change-Id: I8901bd770ca01997299f882394bbe99871d2400e
CRs-Fixed: 2043999
Add module parameter to pass napi budget for dp interrupts. Default value is
set to 128.
Change-Id: I6b3761c6908ed9cec4e40118a657b39da6ac2532
CRs-Fixed: 2095242
Add a new entry for PACKET_LOG_SVC. FW needs this entry
for initializing packet log CE pipe.
CRs-Fixed: 2094058
Change-Id: I496a2bdf78dd79cc17a60b4f0d227d4e570c93e6
Interrupt was constantly firing because the low_threshold was
improperly configured. The low threshold needs to be 1 less than
the number of buffers posted when the CE is fully posted. The
srng backed CE's are setup with nentries - 2 buffers as the fully
posted amount, therefore the threshold needs to be nentries - 3.
Also fixes a bug where a reused variable is not cleared. This
bug could result in the threshold being set to a garbages value.
Change-Id: Iac840bfd6677683bf2feb42d8bdbd050f42e895d
CRs-Fixed: 2090603
Use srng based runtime check to bypass legacy register based fw handshakes.
Also remove deprecated emulation based io_remap hack
Change-Id: Idc599bec69a191131e866a2db36d6df3e8e8057f
Do not enable interrupts and continue polling when there is pending work
group napi poll function.
Change-Id: I51184bc5b97f44a65e0883eb614bc47b2b5ca428
CRs-Fixed: 2094313
Add missing qdf_spinlock_destroy() to destroy spin lock debug cookie
for SLUB build. For normal builds, qdf_spinlock_destroy() is a NO-OP
function.
Change-Id: If5a3843a468e460952dc64f0e6b5b1fba05ebbb3
CRs-Fixed: 2078940
Add macro protection for HIF CE, it shouldn't include the ce head file
when the module is usb or sdio.
Change-Id: Icc38ffaa24581141f86d41afe2db7c5aa944a1cd
CRs-Fixed: 2090621
Runtime PM lock init API right now returns pointer to a context
but this would cause confusion to the caller if feature is not
defined and dummy function return NULL as caller can't find real
failure versus dummy function returning because feature not being
enabled.
Fix declaring a data structure in QDF layer that caller can use
but it hides the internal details of HIF implementation for
Runtime PM locks.
CRs-fixed: 1116509
Change-Id: I4dcba604e803faa0e14fac6403610391895e382e
WIN side code already uses the address FW interface header file.
No impact on MCL side as these are addresses are for WIN chips.
Change-Id: I540de3adf749d02aa9e56cca3f1f1baa39052dc7
CRs-Fixed: 2066361
Because of wrongly using #ifdef instead of #if, DEBUG_BUNDLE is
always on after enable bus bunlde for SDIO bus WLAN.
CRs-Fixed: 2073795
Change-Id: I7b94dbc0a63dbea2384a455eed1e46d0eb60c530
Add lock before disabling and enabling group interrups to avoid race
condition between enabling and disabling group interrupts. Avoid mutiple
enabling/disabling of interrupts by maintaining the irq enabled information.
Change-Id: I79afc987e3853de84aaa05321cfcee72cdc0acb0
CRs-Fixed: 2087792
Pointer tbuffer is allocated from heap or get from other module, it
is checked in some if branch but not every possible NULL branch.
Adding NULL check of tbuffer in every possible branch.
Change-Id: Id3c9f941623995ff73a993e29c53f3b9ce66f10e
CRs-Fixed: 2064350
Release napi spinlock only after performing napi state
comparison to avoid any race condition.
Change-Id: Icd7b713e474a818dfc6d0fa402496bbe06a3af66
CRs-Fixed: 2078294
sync_completion_queue pass to function hif_dev_issue_recv_packet_bundle
may be NULL when asyncProc is true, and this queue pointer will be
dereferenced in HTC_PACKET_QUEUE_ITERATE_ALLOW_REMOVE.
Add checking before dereference this pointer.
Change-Id: I7e6f7923c819a7af8ed5444853ee74ffe1dd1a76
CRs-Fixed: 2071228
In multiple functions of hif_sdio_recv.c and hif_scatter.c, there is
A_ASSERT to check NULL pointers which might null operation if it is
not debug build.
Fix it by adding proper error handle if pointer is NULL
Change-Id: Ib183366d4a1193a3cf22aae2f3431efa761d1d35
CRs-Fixed: 2058905
hif_dev_map_pipe_to_mail_box may return 255 and assign to mbox_index,
which will cause buffer overflow. Another issue is missing NULL check
after allocate memory in function hif_dev_send_buffer.
Fix it by checking NULL/invalid return pointer/index value.
Change-Id: If7b954343847097b7b5b601c684fe6b51d90daa4
CRs-Fixed: 2058300
assign msi vectors to srng rings based on the ext_group they will be
serviced in.
provide support for ext_groups in hif_pci.
Change-Id: If313fdb43b939871c0d73dea9a05f757427b5b16
CRs-Fixed: 2051911
Gcc 6 introduces some stricter checking for indentation,
causing warnings of misleading-indentation, which are
treated as build errors when CLD3.x drivers are compiled.
Fix all the identation warnings under qcacmn branch.
Change-Id: I50b5eb093f08be118a29ff58e1bc3d7f2518e0bf
CRs-Fixed: 2058147
For TF sdio chip with platform driver, ramdump is
configured in platform driver. Driver can get the
virtual memory, but it can't call ioremap again.
If there is a platform driver, ramdump should be
allocated in platform driver, and if there is no
platform driver, ramdump should be allocated in
driver.
CRs-Fixed: 2060381
Change-Id: Ia2a32a4895f354e365522a30bbfac949ccb7a391
Leave the duplicate logic in hif_napi.c until
more thorough cleanup can be done.
Also clean up the HELIUMPLUS macro dependency.
Change-Id: Idbfaacb3b74b358198691a288def07d454e17659
CRs-Fixed: 2051902
hif_exec_context extends hif_ext_groups to support napi and tasklet models.
Some of the rename and enahancements have been done to support merging of
the execution context management code between the CE and DP contexts, as
well as supporting irq affinity for both napi & tasklet contexts.
Change-Id: I82c8abf2e906f027ec80faf7353a7685536bb79b
CRs-Fixed: 2051902
When open sdio bus, "probed" will be checked and increased, but it's not
decreased in close sdio bus, so if driver goes through hdd_wlan_startup ->
hdd_wlan_stop_modules -> __hdd_open process, it will fail to open the sdio
bus and to bring up the interface.
The fix is to remove the static variable, since the check is trivial for
two reason:
1. driver control flow guarantee no re-enter;
2. if re-enter happen, it is no harm.
Change-Id: Ie701fb44732600440aa70ff28f62fe766d4271e7
CRs-Fixed: 2066582
For TF SDIO chip, it allocated memory for global pointer ol_sc, but
doesn't free when unloading, which cause memory leak.
Change-Id: Ia27be884ccbaaeb01c9fd5b67898e6f7e4c54364
CRs-Fixed: 2070479
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'
CRs-Fixed: 2063344
Change-Id: Id3613d0b7fca58c3d94c5af59838b0bff3ef26de
Wakeup AR6320 target when PCI-E legacy ISR is configured to
avoid a subsequent crash while interrupt is handled
Change-Id: I3d24f3b7e06c05ba43f631daaeb75af419ed13a5
CRs-Fixed: 2035618
qcacld-2.0 to qcacmn propagation
The resource of bus request buffers will be exhaused after enabling PTP
feature, which change the data path to OTA path for SDIO solution. So
increase bus request number from 64 to 105 will fix this issue to avoid
memory leak, credits missing and throughput drop issue.
Change-Id: Ic3bb5cea72bcc6a8d3dfd910294efd871fe7e938
CRs-Fixed: 2054177
The interrupts are being freed, but the execution contexts are not
guaranteed to be stopped. Ensure the execution contexts are stopped
to prevent race conditions between the cleanup and normal execution.
Change-Id: I77f2e0fb7073dbb3337e1cbbb6ed09295c7ea23e
CRs-Fixed: 2030393
In current implementation, we may call core_ctl_set_boost(false) even
if its already been turned off an a previous occasion. This leads to
excessive prints in the kmsg "Error turning off boost. Boost already
turned off"
Fix the ref_count such that we donot call the API to turn
core_ctl_set_boost "off", if it is already off.
CRs-Fixed: 2034738
Change-Id: I6e0760c9e6778087f8de6e5329bcaf110c7b264b
In ce_services, check if target type is srng based and access legacy registers
only if it is not, for APIs which are common between legacy and srng-based
targets
Change-Id: I515026cd9b6d14accd4c219c6d03134a36cc3db6
Populating the data structure target_ce_config and target_service_to_cemap
for IPQ8074 platform. These two data structure will be passed to the Q6 target
over QMI later during wifi up for the target side initialization.
CRs-Fixed: 2051118
Change-Id: I5cbe62594b66dab18f01968b9c15d6bfaf93b585
Unit-Test suspend needs to be decoupled from the copy engine
implementation in HIF. Split the HIF portion of Unit-Test suspend into
their own files, and clean up naming, etc.
Change-Id: Ic36c5b98c505f6b62ddf94336838a9e53fe8aa78
CRs-Fixed: 2055328
when we issue cat /proc/interrupts we see wlan_ahb for all
wlan interrupts, now replaced it with proper names to make
it easy to debug
Change-Id: Ib447cce7ffc2844b9f21f579aa50b6a1cfc2e001