Various fixes to get the in-kernel tests running and pass
on Olympic.
Change-Id: I6850a35c488321fd216ef5ac8024d2c70a6c51d1
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
IPA FW is loaded via XBL to improve boot KPI enumeration
for MHI and USB use cases.Make changes to complete the IPA
initialization as early as possible without waiting for
user space trigger to load the fw.
Change-Id: I6fc6ab0a52784428363154b66237886e738048de
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
Once the interrupt is enabled we could get an interrupt
immediately. To avoid a crash in this case, we have
to initialize the props structure in the gsi_ctx.
Change-Id: Ic595bc9d8ab5f3803ff6e1592358f426dcf51e0a
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
V6 CT table mmaping was failing due to improper state data being
passed to dma_mmap_coherent. With this change, the proper data are
now passed.
This change also prevent allocation of NAT table on SRAM when SRAM
is not initialized.
Change-Id: I974cb906dbc53ff512dbce6b7424d4d4be1ec1ed
Acked-by: Nadav Levintov <nadavl@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Load the IPA_CFG offset from the DTS and use it for reg_base
offset.
Change-Id: Ib04349b5f35e8b3b4f5cfdf8eee50eabd886484f
Acked-by: Nadav Levintov <nadavl@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Limit the number of immediate commands in a chain when submitting
filtering rules in order to prevent chain size from surpassing TLV
fifo size.
Change-Id: Iebdd76501d9965331715fc5d7ae050f9007f9361
Acked-by: Nadav Levintov <nadavl@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Add Hardware Abstraction Layer infrastructure to GSI
driver. This change includes registers HAL component
for GSI.
Change-Id: I87e7c22ed88117a74af4220b4c05c610bae498cc
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
IPA v5 introduced new packet status and frag status bitmaps.
Adding the support for the new bitmaps.
Change-Id: I6f112254d41aaebdbf49d474af33fe24a5551725
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
Adapt to removal of uni dimensional registers and replace
in bi dimensional registers due to increase in IPA pipes
number
Change-Id: Icf8e858d275744d30ffcc09ab6147de52b9ab148
Signed-off-by: Amir Levy <alevy@codeaurora.org>
IPAv5 supports up to 256 pipes, update code to support
increased number of pipes and change in bitmaps
Change-Id: I828bd274974fc0af96c90cdb0fcb339e523c7d08
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Update IPAHAL to new IPAv5 registers according to SWI.
Remove usage of obsolete registers and use new ep registers
instead.
Change-Id: I5408c0508ff7ec26879d1cd481a04e463a2f91ab
Acked-by: Nadav Levintov <nadavl@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
In holi target due uC memory constraints uC monitoring stats
not support. So disabling the sending monitor command to uC.
Change-Id: I34e319118287fcd82876344bd85ab53c50cf5651
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Adding changes to configure the destination resource group for DRB-IP.
Change-Id: I41248e7e7e92a0e4635b8661d1f324be165bd2fa
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
The while loop in gsi_handle_irq will cause an extra register
read after handle last interrupt. This read can be the unclocked
read. The fix is to break on ch/evt control interrupt where
could potientially cause IPA clock off.
Change-Id: If4b3bb127ee66648d24b8ca7c16bd6fec42d9fcc
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
Becauase of using wrong pair of PM operation device
was not resuming if suspend fails. Adding changes to
use correct set of PM operations.
Change-Id: Ib9fdea8f93f0a6dafbd5908dc8fc2bbf4f1e0904
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Make changes to use the max budget of 64 for the LAN polling.
Otherwise we will switch between Polling and Interrupt mode
even when there is continuous data.
Change-Id: I6bbf49b77d258e88044c03a33fe20bb015a55019
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
In IPA4.9, the wrong end_init_deaggr ipa hal implementation had
been chosen. The fix is to correc the setting.
Change-Id: I63e2c50bc42b13ef9213d4b75d5c22346170a0d3
With HOLB monitoring, it is beneficial to enable drop
stats for USB and WLAN pipes. Also enable drop stats for
DPL pipe.
Change-Id: I24df7041a4056d2875f6b14d50ab52beb1459eeb
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Avoiding NULL pointer de-referencing for an internal variable.
Change-Id: I9fa3bc24c747c7c04d1d64b29fc63677206252e0
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
Removing the files copied from the kernel:
ipa.h
msm_gsi.h
ipa_fmwk.h
ipa_mhi.h
ipa_odu_bridge.h
ipa_uc_offload.h
ipa_usb.h
ipa_wdi3.h
ipa_wigig.h
and including the original files instead.
Depends-on: 3177533
Change-Id: I485f5545505bfbc4e775a75ae3d0809f9a977a97
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
Currently the ipa_debugfs_print_tethering_stats()
prints values from zeroed buffer.
The ipa_get_teth_stats() has to be called only once,
and ipa_query_teth_stats() to fill the buffer.
Change-Id: I72e6db3c9f2c342e8b635341eee06795b2be9d67
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
When USB is suspended there are DL packets on consumer
channel leading to stall. to avoid the stall enabling
the holb as part of suspend and removing it in resume.
Change-Id: I08e2fe248ee675698da16b6df6aec8f109c73608
Signed-off-by: sivakanth vaka <svaka@codeaurora.org>
If in the __ipa3_stop_gsi_channel all iterafions
of the gsi_stop_channel returned GSI_STATUS_AGAIN,
channel->stop_in_proc flag has to be set,
otherwise the teardown of the ipa_mhi_suspend_internal
won't resume this channel.
For that the return value of the gsi_stop_channel
has to be forwarded (in case no other errors exist).
Additionally ipa_mhi_resume_channels should check both
IPA_HW_MHI_CHANNEL_STATE_SUSPEND state
and stop_in_proc flag.
Change-Id: I369211456fa949f8c1869b577028ff44ed4e2c95
Signed-off-by: Ilia Lin <ilialin@codeaurora.org>
PM resources are released even when there are outstanding
packets leading to data stall hence resources are released
only when there are no outstanding packets.
Change-Id: I630737edfc9cadea1d8a99bdb6bb6fcbe76615d8
Signed-off-by: sivakanth vaka <svaka@codeaurora.org>
Fixed the if condition for enabling the NAPI netdev to init the netdev
if at least one of both features is enabled.
Change-Id: I14d454bf6eaa070a9ba5bab9e0b2d2f3bd4a8cf7
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>