Add GSI profiling stats data and the GSI FW version to debug fs.
Change-Id: I5749339f5ec9656e636a512668025bb09a97a3ec
Acked-by: Nadav Levintov <nadavl@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
Add debugfs support for NTN3 stats.
Collect stats from uC add print from debugfs.
Change-Id: Iaf31beedb7403ee924a170f3b6c45ce0b78b7680
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Add NTN3 gsi scratch and protocol.
Add NTN3 support in ipa_eth.
Change-Id: I7dde0f21711617770ea31e325db803108d929565
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Make changes to ensure NAPI is scheduled only once.
Make changes to use right register
GSI_EE_n_CNTXT_SRC_IEOB_IRQ_CLR_k for clearing interrupt.
Change-Id: I8de97f584ac4915d59b6716e7dff0c181a48cd1e
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Observing use after free issue during teardown WAN pipe if we
receive the incoming packet. Adding check channel in right state
before access base address.
Change-Id: I29a611693b78637811fe45abea93d9ed3e6f54e5
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Observing gsi assert in SSR scenario due to not decreasing the
num_of_chan_allocated count. Adding changes to decrease the count
in dealloc event ring.
Change-Id: Icc0713c25bc5566c377e46fef2a4feb3feed176a
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
Masked interrupts, moved the producer apps
event ring and channel ring polling from
GSI IRQ to napi context, and disabled NOP
descriptors, since interrupt mitigation
is now coming from napi usage.
Change-Id: Id69ba519103255567654d5a11fcd3387900cb27d
Acked-by: Nadav Levintov <nadavl@qti.qualcomm.com>
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
In older target we may not receive gsi interrupt while
stopping the channel in first retry, so we inject dma
1B packet while retrying. We were observing crash during
stop channel as we were reading channel current state
only after interrupt recieved. Now reading channel
current state in case we not recieved interrupt for
older target.
Change-Id: I4f436bee610ce6ccd5e0f4c982689c15291a2011
Signed-off-by: Piyush Dhyani <pdhyani@codeaurora.org>
devm_ioremap_nocache is deprectaed in newer kernels. Make
changes to remove the usage.
Change-Id: I84ad1a8fb707b516a6976d3038878b55ba0dd6b4
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Make changes to align to the latest kernel version.
Fixes to compilation errors and forbidden warnings.
Change-Id: I5c7a7b8a8ce2ccd98af3d6458bd6a9bdddeb361b
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
fix aqc msi address type to build succesfully for
msm and mdm. add gsi offset to returned address.
Change-Id: I36ed6f20daeff90837d5b022c0b51a0c3ea07dec
Signed-off-by: Amir Levy <alevy@codeaurora.org>
When endpoint in polling mode possible to pipe teardown trigger parallel
it leads to race condition. Adding changes to check in endpoint came out
of polling mode and continue to teardown the endpoint.
Change-Id: I0b22d6a7a1f5229acec2dbc9dd5cb76488c09faa
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
In SSR scenario possiable to receive the contineous interrupt
when IPA HW recovered from temporary stall. Add changes to
remove the max poll count in gsi isr handle function.
Change-Id: Idaf1d9a070426188f3614ebf85010d0107d79dfb
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Add changes to accelerate QDSS diag traffic over IPA
to the PCIe host.
Change-Id: Ice72f8761d092677d4c5434d87bbed295ac435d6
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
Create the ipa_client interface for ethernet offloading.
Change-Id: I8120b0cca9e42a75153fb1468dc1b8bcbd43484c
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
Signed-off-by: Amir Levy <alevy@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>
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>
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>
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>
Leaving this field 0 may lead to a crash during
the first gsi_poll_n_channel() call.
Change-Id: I6c8e9e1e5bacdddd41023618881d761d730a1931
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
Moving the defines used only internally to the local files:
ipa_i.h
ipa_common_i.h
gsi.h
Moving completely the following files from the kernel tree:
ecm_ipa.h
rndis_ipa.h
Adjusting the #include statements accordingly.
Temporary moving the following files to the techpack
as part of 3 stage internal definitions moving:
ipa.h
msm_gsi.h
ipa_uc_offload.h
ipa_mhi.h
ipa_wigig.h
ipa_wdi3.h
ipa_usb.h
ipa_odu_bridge.h
ipa_fmwk.h
On the second stage (after this change merge)
the kernel change will be merged independently.
On the third stage the local copies will be removed
from the techpack and the original files from the kernel
will be included instead.
Change-Id: If5eecc5f96a6a98075db5819f18acaec581b456e
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
GSI interrupt storm can happen due to un-clocked gsi isr.
If we enable clock and assert, there is a chance the gsi isr will
be already handled.
To debug it further, the change is to cache last 20 gsi isr with
timestamp.
Change-Id: I30be03a20df9f11be7f5d8c06b049591305940bb
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
Receiving the global interrupt INT1 without sending any
generic commands. So disabling interrupt by default.
Enabling the interrupt only before sending the generic command.
Change-Id: I55011933d92d29e19cc478ed1dbea9d08b95d239
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
If gsi_start_channel() or gsi_stop_channel() are called
on a channel with no event ring allocated, there will be
null pointer dereference error.
Adding null pointer check.
Change-Id: I200aa09f49c2394041f66c33c458f7daa9aeaf8c
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
In suspend just before stopping the channel possible to receive
the IEOB interrupt and xfer pointer will not be processed in this
mode but gsi stats are updated. In resume after starting the channel
will receive the IEOB interrupt and xfer pointer will be overwritten
because of this observing the gsi/sys len stats are not matching and
buffers won't be replinished properly leading to HW stall.
To avoid this process all data in polling context, gsi/sys len
stats are updated properly.
Change-Id: Id665448165b6aa51b251cddd72573c6df64ee541
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Add default cases to avoid compilation error for unsupported
or new hw version
Change-Id: I37d8c753225a71ef6f1f28261e5938e40435fe50
Signed-off-by: Armaan Siddiqui <asiddiqu@codeaurora.org>
Observing race condition when we are starting the channel and
modem trying to offload flow_control on same channel. Add changes
to retrun success if channel state is flow control when trying to
start the channel.
Change-Id: Id254cd0e3e17c74e931d27cb96577224559c091e
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
When the RMNET pipe channel in the started state receiving the
junk packets, it leading IPA HW stall. Add changes to support
the new flow control channel state for rmnet pipe, it avoids
entering the junk packet to IPA HW.
Change-Id: If2b3992e8cdc93343e70f9d2c1783bbbde329bc2
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>