Commit Graph

401 Commits

Author SHA1 Message Date
Bojun Pan
60c428f5ea msm: IPA: add functional flag for MHI Proxy
Android Q update, enable MHI Proxy on msm-4.14 master branch.
Add functional flag to only call MHI proxy functions when MHI
proxy functional flag enabled.

Change-Id: I342d0c9aefcf958226a0b697e6e8fce68bf81d15
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-12-09 01:06:50 +05:30
qctecmdr
c747a75e17 Merge "msm: ipa3: Reduce NAPI weight to 32" 2020-12-08 10:12:25 -08:00
qctecmdr
d5689c1472 Merge "msm: ipa3: Fix race condition during teardwon pipe" 2020-12-08 09:31:05 -08:00
qctecmdr
ccebecd56c Merge "msm: ipa3: Fix to increase the inactivity timer" 2020-12-08 09:17:26 -08:00
qctecmdr
3a085f9cee Merge "msm: ipa3: Schedule the NAPI only from interrupt context" 2020-12-08 09:03:41 -08:00
qctecmdr
848a5ab65b Merge "msm: ipa: fix the use-after-free on qmi framework in ssr scenario" 2020-12-08 08:51:31 -08:00
qctecmdr
6d9b918fd2 Merge "msm: ipa3: Changes to control the IPA BW vote using debugfs" 2020-12-08 08:38:39 -08:00
qctecmdr
f05442170d Merge "msm: ipa3: Fix to enable the HOLB during enable wdi pipe" 2020-12-08 08:25:49 -08:00
qctecmdr
13797b24fb Merge "msm: ipa3: Fix to remove max poll count in gsi isr handle" 2020-12-08 08:00:06 -08:00
qctecmdr
93507a387d Merge "msm: ipa3: Fix to unmap LOW LAT consumer pipe buffers" 2020-12-08 07:10:09 -08:00
Bojun Pan
d8088272c7 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-12-08 04:26:21 -08:00
Ashok Vuyyuru
496d9985ee msm: ipa3: Reduce NAPI weight to 32
observing the shadow stack overflow due to skb is
chained using the frag_list more than 64. To reduce the
skb chained reducing the NAPI weight to 32.

Change-Id: I1164c7d8e886a1079d30c213c91827b0aa191db2
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2020-12-08 16:54:50 +05:30
Ashok Vuyyuru
7fe8c76944 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-12-08 03:16:10 -08:00
Ashok Vuyyuru
52b2451fb5 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-12-08 03:10:02 -08:00
Ashok Vuyyuru
b708bca845 msm: ipa3: Fix race condition during teardwon pipe
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>
2020-12-08 03:07:37 -08:00
Ashok Vuyyuru
b21d6d1bf4 msm: ipa3: Fix to enable the HOLB during enable wdi pipe
WLAN client disconnect scenario enable HOLB on WLAN consumer,
with timer value 0. if client connected without disabling the
hotspot, it was leading tput impact. To avoid this scenario
during reconnect client configure the holb with timer value
on WLAN consumer pipe.

Change-Id: I33b4c97c4e6adea3107a46d5ca799379d255876c
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2020-12-08 03:02:06 -08:00
Ashok Vuyyuru
2c38874a5d msm: ipa3: Fix to remove max poll count in gsi isr handle
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>
2020-12-08 02:58:53 -08:00
Ashok Vuyyuru
69d8bcc9ab msm: ipa3: Fix to unmap LOW LAT consumer pipe buffers
Currently LOW LAT consumer pipe replnish skb not unmapped
properly. Due to this running into out of memory issue.
Adding changes to unmap LOW LAT consumer replnish buffers
using correct method.

Change-Id: I253519f7c2f5eba11d32074c7b1879feed1f413c
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2020-12-08 02:56:22 -08:00
qctecmdr
a72e6ebde0 Merge "msm: ipa: Support hardware accelerated DIAG over qdss" 2020-12-08 02:55:59 -08:00
Ashok Vuyyuru
0f220f828b msm: ipa3: Changes to control the IPA BW vote using debugfs
Changes to control the IPA BW vote persistent using debugfs.

Change-Id: Ie1edf294558a61af065f3fddec410808dc1abdd5
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
2020-12-08 02:54:20 -08:00
Piyush Dhyani
d6f9de610c msm: ipa: Add RG10 Workaround Changes
Adding RG10 Workaround changes for
IPA HW 3.0.

Change-Id: I42fdde8ef86f877ea9d555d8f1ecc21c87f8dccd
Signed-off-by: Piyush Dhyani <pdhyani@codeaurora.org>
2020-12-08 11:51:06 +05:30
Michael Adisumarta
ae988186cc msm: ipa: Support hardware accelerated DIAG over qdss
Add changes to accelerate QDSS diag traffic over IPA
to the PCIe host.

Change-Id: Ice72f8761d092677d4c5434d87bbed295ac435d6
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-12-07 16:16:22 +05:30
Bojun Pan
eabd422ad1 msm: ipa: update the SRAM for uC image
Update the SRAM memory partition table for uC image.

Change-Id: I53e352833dc9a64372ff06b06415081bbe0068fc
2020-12-03 20:44:44 -08:00
qctecmdr
1fbef509f1 Merge "msm: ipa: Endpoints of USB and PCI is reversed in order" 2020-12-03 12:39:55 -08:00
qctecmdr
eb58ec558f Merge "msm: ipa3: Add max PDN num based on hardware version" 2020-12-03 08:31:57 -08:00
qctecmdr
601b35f6b7 Merge "msm: ipa: Add IOCTL support to get ep_pair info" 2020-12-03 05:39:10 -08:00
Akshay Pandit
b2a1787984 msm: ipa: Endpoints of USB and PCI is reversed in order
Send the USB2(Low latency eptype) end point info first then
USB0(General eptype) end point.

Send the CV2x(Low latency eptype) end point info first then
LTE(General eptype) end point.

As per net manager request handle the get peripheral info
ioctl to send ep_info in reverse order.

Change-Id: I798b53ac41056d2229dbfca22b30e6f6625b8ee4
Acked-by: Rishabh Garg <rishgarg@codeaurora.org>
Signed-off-by: Akshay Pandit <pandit@codeaurora.org>
2020-12-02 21:04:41 -08:00
Chaitanya Pratapa
5dd2bca23e msm: ipa: fix to not use stack memory to store descriptors
Make changes to not to use stack memory to store the content
from descriptors in case of COAL/Defaul pipe.

Change-Id: Icfdad59022a5cad27ec95a0bf9c80e96a2a93da9
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-12-02 20:30:52 -08:00
qctecmdr
5ff7d01b3b Merge "msm: ipa: Add missing ep definition" 2020-12-02 16:24:57 -08:00
qctecmdr
f238660c28 Merge "msm: gsi: dump channel information" 2020-12-02 13:29:24 -08:00
qctecmdr
1fb785123b Merge "msm: ipa: Add support in ipa-mhi driver for cv2x" 2020-12-02 12:47:52 -08:00
Pooja Kumari
4221a04488 msm: ipa3: Add max PDN num based on hardware version
Currently defined max PDN number is generic for all
hardware version which is incorrect. Define PDN based
on hardware version to support correct number of PDN.

Change-Id: I3e898a32104562584b4702132c57b7f1cb8deeca
Signed-off-by: Pooja Kumari <kumarip@codeaurora.org>
2020-12-02 23:17:41 +05:30
Akshay Pandit
a41942d70f msm: ipa: Add IOCTL support to get ep_pair info
For QMI dpm port to open, control manager needs
to know about usb/mhi ep details corresponding to
RMNET and RMNET_CV2X tethering.
IPA driver has all endpoint info at one place.
So provide IOCTL interface to get ep_pair info.

Change-Id: Ia5ec0df955ef7794ca992129dab538f65af36211
Signed-off-by: Akshay Pandit<pandit@codeaurora.org>
2020-12-02 20:19:07 +05:30
Bojun Pan
68a9f56ecd msm: ipa: Add missing ep definition
Add ep definition for MHI DPL pipes.

Change-Id: I0d1ef4c4d07e6f31f9d2c640eb08125b8879fb8a
2020-12-01 17:09:57 -08:00
qctecmdr
7edf6fa629 Merge "msm: ipa: support dtsi entry for auto config" 2020-12-01 07:32:08 -08:00
Praveen Kurapati
99c90b47f8 msm: ipa3: Add check to validate rule_cnt
Add proper check to validate table rule count
which may lead to overflow error.

Change-Id: I9bdcafcaae4e4cff1b901929c8dc6ae804f85642
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
2020-11-30 20:58:18 -08:00
Bojun Pan
5e658601de msm: ipa: eth: fix AQC eth client interface
1. Fix the db address/value to ethernet driver.
AQC RX is using uC MBOX, TX is using GSI doorbell.
2. Fix the uC init peripheral cmd

Change-Id: Ibc52c9093b85749eff3c2146c7fbc5bc421207b8
2020-11-30 11:59:40 -08:00
Akshay Pandit
73a749fcff msm: ipa: support dtsi entry for auto config
Add support for new dtsi entry specifying auto configuration.

Change-Id: Ie27ca9e09ac228c5bfbf8832a9b123f733cab765
Signed-off-by: Akshay Pandit <pandit@codeaurora.org>
2020-11-25 11:05:08 +05:30
Chaitanya Pratapa
6f19cedb0c msm: gsi: dump channel information
Dump channel information when stop channel fails.

Change-Id: I39ef3338c9e7e968ee6a592debc23edbff9f8fc8
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-11-24 15:14:39 -08:00
Bojun Pan
2959bb5f57 msm: ipa: Move the QMI for mhi pipe info to modem bootup
In Q6 standalone ssr, the mhi host is not aware of the ssr
so it will not stop/start the channel. In this case, the QMI
won't be send again so that Q6 will lose the pipe info.

The fix here is to move the QMI to modem bootup routine so
after ssr, this qmi would be sent again.

Change-Id: I3c9e4830359f05bc9ab729ffca30a1a0bcba7407
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-11-22 22:47:53 -08:00
Bojun Pan
7421a79dc4 msm:ipa:change IPA client mapping for mhi protocol
Move the IPA client mapping logic inside ipa_mhi driver.

Change-Id: I7efd6ec5f13525a315b8f29f5c75e9fb19ca72eb
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-11-22 22:47:41 -08:00
Bojun Pan
a55627b39d msm:ipa:mhi: send qmi endp_desc notification to Q6
Whenever 2 new low latency pipes setup/enable, we need to send the qmi
endp_desc notification to Q6.

Change-Id: I708c6586a4d625f9308b514abd250a48d59d19f2
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-11-22 22:47:14 -08:00
Michael Adisumarta
3bb10d9a49 msm: ipa4: mhi qmap flow control pipe definitions for LE
New dedicated pipe definition for LE MHI use case.

Change-Id: I254ef478757d7de4364a257c645ea91829e0f99f
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-11-22 22:46:36 -08:00
Bojun Pan
8dfbec3dad msm: ipa: vote the ipa clock before enable wdi channel
Move the PM activate before enable WDI channel.

Change-Id: I8146305b1548bdcb0d2c3d60d21854b35433fede
2020-11-20 16:21:38 -08:00
Chaitanya Pratapa
e38ac9778b msm: ipa: Add additional trace points for rx/tx
Make changes to add additional trace points for rx
and tx path. Also enhance existing traces to capture more
information.

Change-Id: I40d5bfc4080a47d986e16ac157524c341949e51e
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-11-19 22:24:05 -08:00
Bojun Pan
c270d92443 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-11-18 09:20:41 -08:00
qctecmdr
44cc5ec1e5 Merge "msm: ipa: device assisted low power states support in IPA" 2020-11-17 18:28:17 -08:00
qctecmdr
b27e6e6a42 Merge "msm: ipa: add AQC support in ipa_eth client" 2020-11-17 16:52:53 -08:00
qctecmdr
f7455163ee Merge "msm: ipa: create ipa_client for ethernet" 2020-11-17 15:46:06 -08:00
qctecmdr
56c157ed33 Merge "msm: ipa: add Q6 ep config for IPA_5_0" 2020-11-16 14:11:40 -08:00