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>
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>
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>
Duplicate code which is causing we call probe_cb twice to rmnet_ctl
module.
Remove the un-necessary return after pipe setup but rmnet_ctl not
registered yet.
Change-Id: I935ca6c09801ab2882a196d739f0de55a4ab3806
ipa_api provided a wrapping layer for various functions in order to
mitigate between different ipa version. This mitigation is no longer
needed, hence ipa_api is obsolete.
Change-Id: I84c3fafef0f578b86080ac8457493ced4ec442e3
Acked-by: Eliad Ben Yishay <ebenyish@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@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>
IPA HW will treat aggeragtion byte limit value 1 consider as 1K.
Adding changes to configuring the aggeragtion byte value w.r.t
IPA HW requirement.
Change-Id: Ibe9353a39971296f7e4b04f30039457c07c63033
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
When we get a bad peripheral event from uC when there is a pending
HOLB ADD/DEL command response from uC we will run into a deadlock
if we try to acquire mutex as part of event log. Make a change
to remove mutex lock when logging the events.
Change-Id: I60ca3ecc4fe4d090278f745bdf2bb9e1bd09ca60
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
TX napi context is a mutable variable and so must be deleted
whenever the pipe is disconnected. Otherwise we will see a
memory leak.
Change-Id: I9309130c786e1092fd1a717359774fca9a37fcd1
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Make changes to delete the route entry even when the hdr/proc_ctx
handles are already freed. Otherwise the entry will be dangling.
Change-Id: Icbab6b96fa137c5214b37ea33c6203c5a54273ac
Signed-off-by: Chaitanya Pratapa <cpratapa@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>
NAPI object is deleted as part of free_netdev. No need
to free it seperately
Change-Id: I20a2b6a8f73f9341030188d00dadc6acc7671c30
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
Fix using the right client enum when trying to add
NAPI TX function.
Change-Id: Ie45b5b72efdd76c27da854f1a22ed7e8f5853592
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Addressed unintialized pointers and P1 errors and
fixing them accordingly.
Change-Id: Iba70c5fdf91fffd823c3473383e687fe8b549b64
Signed-off-by: Michael Adisumarta <madisuma@codeauror.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>
To make sure detach and attach netif instead of stop
and wakeup and also to update transfer timer update.
Change-Id: I9d589b7f9f6fe98f778df509d3c16f339dfdeea1
Signed-off-by: Michael Adisumarta <madisuma@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>
The ipa3_get_hw_type_index() uses the ipa3_ctx->ipa_config_is_mhi
for MHI flavor detection. Therefore the ipa3_ctx->ipa_config_is_mhi
has to be initialized before the ipa3_get_hw_type_index() call.
Change-Id: I8446c68f8b1fb0e2a56838e92f59198bd6890462
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
Rate limit the warning which could cause latency on low_lat data path.
Add stats count for buffer replenish issues.
Change-Id: I8ce8c7584be211e215a05b6c5c9a1ff1b2512240
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>