Commit Graph

315 Commits

Author SHA1 Message Date
Bojun Pan
b793aca3be msm: ipa: add state for rmnet_ctl tx/rx pipes
When ssr happen in middle of egress ioctl, only tx pipe is setup
and the current state in teardown cannot handle it.
The fix is to add state for tx/rx setup separately.

Change-Id: I0eb4011ce91139acce3a619a8179d84066873953
2020-09-23 15:11:21 -07:00
qctecmdr
19c963a83d Merge "msm: ipa: Fix to remove duplicate proxy vote" 2020-09-23 08:50:32 -07:00
Sivakanth vaka
3049e6f03e msm: ipa3: Rate limit excessive logging
Rate limiting excessive logs when modem is in limited service.

Signed-off-by: sivakanth vaka <svaka@codeaurora.org>
2020-09-23 12:38:17 +05:30
Bojun Pan
f53c2a8a7a msm: ipa: correct the pointer in idr for FnR stats counter
The stats counter which saved in idr was some stack memory which
could be freed and cause memory corruption. The fix is to use
the memory allocated in heap instead.

Change-Id: Ie398b0271571fcff41cdb85de4d77d202b6552b5
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-09-18 18:25:31 -07:00
Chaitanya Pratapa
7224364726 msm: ipa: Fix to remove duplicate proxy vote
In case if modem crashes even before uC is loaded, there is
a possibility that we hold the proxy vote twice and the clock
will not be disabled. Make changes to avoid duplicate proxy vote.

Change-Id: Id62994c79eff6868e3a491aa53963ec127ea1213
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-09-16 23:14:56 -07:00
qctecmdr
1a8bbaabfd Merge "msm: ipa3: Update the channel mode before start channel" 2020-09-16 18:58:43 -07:00
qctecmdr
f3fb4e64fb Merge "msm: ipa3: Fix to increase the inactivity timer" 2020-09-16 18:25:28 -07:00
Ashok Vuyyuru
a565f3ec5e msm: ipa3: Schedule the NAPI only from interrupt context
Due scheduling the NAPI in suspend path observing race conditions
in updating channel polling context and pipe polling context. To
avoid these scenario scheduling NAPI only from interrupt context.

Change-Id: I8eb0438618aedb9873e6eafc269435cc67c03dd5
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2020-09-16 23:31:32 +05:30
Ashok Vuyyuru
efa43ef916 msm: ipa3: Fix to increase the inactivity timer
In low latency ping scenario clock unvoting fastly due to this
ping RTT was increased. To avoid these scenario increased the
inactivity timer to 100msec.

Change-Id: I9b11e2adbe087aa67fa2e7ed751b190abb09d0ed
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2020-09-16 22:27:38 +05:30
Ashok Vuyyuru
ecf3b98c7c msm: ipa3: Update the channel mode before start channel
Observing the race condition if channel mode configured after
channel start. To avoid these race conditions configuring
the channel mode and starting the channel.

Change-Id: I8f8ec2d9faed320539e2b18de90ab24059a5616c
2020-09-16 22:17:09 +05:30
qctecmdr
596aec557e Merge "msm: ipa: adding checks if the rt_rule is not freed" 2020-09-11 05:10:34 -07:00
Bojun Pan
3b8fe1bc8e msm: ipa: fix the use-after-free on qmi framework in ssr scenario
IPA drvier free the qmi server hdl without notify the qmi
framework which is causing the use-after-free on QMI framework.
The fix is to notify qmi framework before freeing the qmi handle.

Change-Id: I1ec9d3efd29283fddd958561a538b2995222a53c
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-09-09 15:06:26 -07:00
Michael Adisumarta
3fa607227c msm: ipa: adding checks if the rt_rule is not freed
Adding checks if the rt_rule is not freed
before committing.

Change-Id: I4a2c86c24587a6a3ea7318bac438a9f27784f2f7
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-09-03 19:37:15 -07:00
Bojun Pan
8e1f7e0c74 msm: ipa: set the mac header to 0 for rx skbs
packet_rcv_spkt is expecting to strip out the skb_mac_header.
Part of the alloc_skb, the mac header is setup ~0 which is causing
the skb data point to wrong location.

Change-Id: Ib8c14c029145da6a779ead21fb851b26677f4d0f
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-09-02 21:58:57 -07:00
qctecmdr
feeb959896 Merge "msm: ipa: rate limiting the warning" 2020-09-02 19:47:07 -07:00
qctecmdr
078699f087 Merge "msm: ipa: Fix to set holb discard" 2020-09-02 06:22:27 -07:00
qctecmdr
45998a733a Merge "msm: ipa: stay in NAPI mode when default pipe has low credits" 2020-09-02 02:32:13 -07:00
qctecmdr
c19fb2d8ce Merge "msm: ipa3: Following HPG sequence for HOLB enabling" 2020-09-02 00:18:36 -07:00
Chaitanya Pratapa
d53edd4445 msm: ipa: Fix to set holb discard
As part of HOLB monitoring, uc will clear the HOLB discard if
it was set as part of HOLB monitoring or it can clear if
peripheral recovers just before receiving HOLB_DEL command.
Make change to set HOLB discard back if it was intended to be
configured from AP as part of disconnect scenarios.

Change-Id: I6659a62499150844c3b540fadb4ba8b9535f5e45
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-09-01 21:31:21 -07:00
Bojun Pan
8ed7d53cf1 msm: ipa: stay in NAPI mode when default pipe has low credits
When we have no buffer available in HW and switch to irq, a dead-loop is
observed between sending force close comamnd and replenish workqueue.
The fix is to keep in polling mode, wait for napi-poll and replenish again.

Change-Id: Ied0504564f86f41b8b5f9aa25170768027bf3391
2020-09-01 17:47:15 -07:00
Michael Adisumarta
c999c696ac msm: ipa: rate limiting the warning
Rate limitting the warning if client doesn't have
callback.

Change-Id: I09b02181e4c34ecf342e150de76eace9341a0c0a
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-09-01 16:32:48 -07:00
Chaitanya Pratapa
13c8f5cea2 msm: ipa: disable status on ODL_DPL_CONS pipe above IPAv4.5 targets
ADPLv3 targets do not require status to be enabled on ODL_DPL pipe.
Make changes to disable the status for targets with IPAv4.5 and above.

Change-Id: Ica07a25a01e742928d3ecb19a88b7ee2305235ae
Signedo-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-08-31 17:08:30 -07:00
Michael Adisumarta
915d352b94 msm: ipa3: Following HPG sequence for HOLB enabling
Correcting the sequence to dynamically change the HOLB timer.

Change-Id: Iefcac36b93f3aee037628e3b0ec81aa5f5636caa
Acked-by: Suhas mallesh <smallesh@codeaurora.org>
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-08-25 17:49:51 -07:00
qctecmdr
996d5675d6 Merge "ipa: Fix debugfs tethering stats print" 2020-08-22 13:59:26 -07:00
qctecmdr
85389c4153 Merge "ipa: Fix MHI channel resume after stuck GSI" 2020-08-22 13:28:32 -07:00
qctecmdr
60195e2ad2 Merge "msm: ipa: Fix lan polling to use max budget" 2020-08-20 00:41:34 -07:00
qctecmdr
33b0fd1d1a Merge "msm: ipa4: fix the unclock gsi IPA register access" 2020-08-19 19:14:56 -07:00
qctecmdr
3d503d5b16 Merge "msm: ipa4: Disable uc monitoring stats for holi target" 2020-08-19 18:30:16 -07:00
qctecmdr
08bb775bb1 Merge "msm: ipa4: Configure the destination resource group for DRB-IP" 2020-08-19 17:58:54 -07:00
Ashok Vuyyuru
8cb85b52b3 msm: ipa4: Disable uc monitoring stats for holi target
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>
2020-08-19 22:02:20 +05:30
Ashok Vuyyuru
7c957296ab msm: ipa4: Configure the destination resource group for DRB-IP
Adding changes to configure the destination resource group for DRB-IP.

Change-Id: I41248e7e7e92a0e4635b8661d1f324be165bd2fa
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2020-08-19 21:58:56 +05:30
qctecmdr
a32fd77448 Merge "msm: ipa: fix the endp_init_deaggr configuration" 2020-08-19 06:49:25 -07:00
Bojun Pan
72e7088c19 msm: ipa4: fix the unclock gsi IPA register access
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>
2020-08-18 23:43:53 -07:00
qctecmdr
2d19d4a5e6 Merge "msm: ipa3: Fix to use paired PM operation for IPA" 2020-08-18 18:52:32 -07:00
qctecmdr
15bdbefea5 Merge "msm: ipa: avoiding NULL pointer de-referencing" 2020-08-18 17:48:24 -07:00
qctecmdr
10afe9873b Merge "msm: gsi: cache last 20 gsi interrupt for interrupt storm debug" 2020-08-18 14:06:17 -07:00
Ashok Vuyyuru
7aa33aede2 msm: ipa3: Fix to use paired PM operation for IPA
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>
2020-08-18 01:55:24 +05:30
Chaitanya Pratapa
37f6ed3720 msm: ipa: Fix lan polling to use max budget
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>
2020-08-14 16:50:43 -07:00
Bojun Pan
b1419bf968 msm: ipa: fix the endp_init_deaggr configuration
In IPA4.9, the wrong end_init_deaggr ipa hal implementation had
been chosen. The fix is to correc the setting.

Change-Id: I63e2c50bc42b13ef9213d4b75d5c22346170a0d3
2020-08-14 16:04:39 -07:00
qctecmdr
717e1ce2fb Merge "msm: ipa: enable drop stats for USB/WLAN and DPL pipes" 2020-08-14 13:45:31 -07:00
qctecmdr
afc5807ba0 Merge "msm: ipa: rate limitting error logs" 2020-08-14 13:05:27 -07:00
Chaitanya Pratapa
a5fbe3bdc5 msm: ipa: enable drop stats for USB/WLAN and DPL pipes
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>
2020-08-12 22:44:52 -07:00
Michael Adisumarta
c5ccae821e msm: ipa: rate limitting error logs
Rate limitting error logs in rndis_ipa file.

Change-Id: Iebd548df1a99553afdabb6375675576fe3776832
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-08-12 19:13:35 -07:00
Michael Adisumarta
8c28530134 msm: ipa: avoiding NULL pointer de-referencing
Avoiding NULL pointer de-referencing for an internal variable.

Change-Id: I9fa3bc24c747c7c04d1d64b29fc63677206252e0
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-08-12 14:33:52 -07:00
Ilia Lin
9d4ff10cc6 ipa: Cleanup after moving internal definitions
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>
2020-08-12 10:37:35 +03:00
Ilia Lin
6cdcc3b5ab ipa: Fix debugfs tethering stats print
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>
2020-08-06 15:25:30 +03:00
Sivakanth vaka
9d023aee86 msm: ipa3: Enable holb as part of usb suspend
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>
2020-08-06 10:38:31 +05:30
Ilia Lin
63f19cf561 ipa: Fix MHI channel resume after stuck GSI
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>
2020-08-05 15:19:10 +03:00
Sivakanth vaka
00100fbf02 MDM:IPA3: Fixes issue with RNDIS and ECM suspend path
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>
2020-08-05 16:10:30 +05:30
qctecmdr
9b22e915ef Merge "msm: ipa: Endpoint configuration and IPA driver changes for mannar" 2020-08-04 03:54:50 -07:00