Commit Graph

256 Commits

Author SHA1 Message Date
Ashok Vuyyuru
8f3cb08e2c msm: ipa3: Configure correct aggeragtion byte limit
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>
2020-07-23 15:27:40 +05:30
Chaitanya Pratapa
ed74f973da msm: ipa: Fix holb event log handling
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>
2020-07-22 11:55:24 -07:00
qctecmdr
5d58e67d7c Merge "msm: ipa: removing explicit NAPI object delete" 2020-07-21 22:06:58 -07:00
qctecmdr
088286f329 Merge "msm: ipa: use detach/attach netif instead of stop/wakeup" 2020-07-21 16:55:26 -07:00
qctecmdr
27eabd049c Merge "techpack: ipa: Fixing compile errors" 2020-07-21 10:21:01 -07:00
Chaitanya Pratapa
376242c944 msm: ipa: Fix deleting the TX napi context
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>
2020-07-18 23:10:16 -07:00
Rishabh Garg
e6060ecc44 msm: ipa: Fix compilation error
Change the syntax of condition to fix compilation error.

Signed-off-by: Rishabh Garg <rishgarg@codeaurora.org>
2020-07-17 23:18:38 +05:30
Chaitanya Pratapa
68623da41c msm: ipa: Fix deleting the routing entries
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>
2020-07-16 23:55:00 -07:00
qctecmdr
b8079886fd Merge "techpack: ipa: Move internal definitions to the techpack" 2020-07-16 21:00:24 -07:00
Ilia Lin
2b169b5f0e techpack: ipa: Move internal definitions to the techpack
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>
2020-07-16 21:16:28 +03:00
qctecmdr
16f70a69e3 Merge "msm: ipa: Fix using the right client enum" 2020-07-16 00:57:39 -07:00
qctecmdr
aef65700cc Merge "msm: ipa4: Add checks to prevent use-after-free errors" 2020-07-15 23:22:58 -07:00
Bojun Pan
a2f95e6aab msm: gsi: cache last 20 gsi interrupt for interrupt storm debug
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>
2020-07-15 16:42:05 -07:00
Michael Adisumarta
963ea81558 msm: ipa: removing explicit NAPI object delete
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>
2020-07-15 14:54:19 -07:00
Chaitanya Pratapa
5cffb57355 msm: ipa: Fix using the right client enum
Fix using the right client enum when trying to add
NAPI TX function.

Change-Id: Ie45b5b72efdd76c27da854f1a22ed7e8f5853592
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-07-15 14:31:03 -07:00
Praveen Kurapati
9fd0658d2d msm: ipa4: Add checks to prevent use-after-free errors
A dangling pointer in IPA IDR structure causes use-after-free
issue. Add changes to prevent this corruption.

Change-Id: I229266b05cf6dab0c2d19e5c1e3b0883c7efcc72
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
2020-07-16 00:22:25 +05:30
qctecmdr
6adb226271 Merge "msm: ipa4: Fix to mask the global interrupt INT1" 2020-07-15 03:42:19 -07:00
qctecmdr
78ab233b35 Merge "gsi: Fix NULL pointer dereference on event-less channels" 2020-07-15 03:05:08 -07:00
Michael Adisumarta
dd7950746f techpack: ipa: Fixing compile errors
Addressed unintialized pointers and P1 errors and
fixing them accordingly.

Change-Id: Iba70c5fdf91fffd823c3473383e687fe8b549b64
Signed-off-by: Michael Adisumarta <madisuma@codeauror.org>
2020-07-14 16:43:36 -07:00
Ashok Vuyyuru
a2aa9f1235 msm: ipa4: Fix to mask the global interrupt INT1
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>
2020-07-14 10:33:00 +05:30
Michael Adisumarta
b5286ca355 msm: ipa: use detach/attach netif instead of stop/wakeup
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>
2020-07-13 21:23:44 -07:00
Ilia Lin
554a879753 gsi: Fix NULL pointer dereference on event-less channels
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>
2020-07-13 12:04:33 +03:00
Ilia Lin
86e8365599 ipa: Fix MHI flavor detection
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>
2020-07-13 09:15:44 +03:00
qctecmdr
8ca7410b47 Merge "msm:ipa: add stats for low latency data-path" 2020-07-08 20:28:57 -07:00
qctecmdr
e4a4c9197a Merge "msm:ipa: fix for EOB scatter & gather support" 2020-07-08 20:02:01 -07:00
qctecmdr
9888de5027 Merge "ipa: fix ipa3_send_nop_desc locking before alloc" 2020-07-08 11:24:26 -07:00
qctecmdr
c81a5ae586 Merge "msm: ipa3: Fix to avoid gsi/sys len stats mismatch" 2020-07-08 08:08:10 -07:00
Bojun Pan
532fe68c9c msm:ipa: add stats for low latency data-path
Rate limit the warning which could cause latency on low_lat data path.
Add stats count for buffer replenish issues.

Change-Id: I8ce8c7584be211e215a05b6c5c9a1ff1b2512240
2020-07-07 14:40:38 -07:00
qctecmdr
8bb9e5aa2e Merge "techpack: ipa: Fix include path" 2020-07-07 12:45:20 -07:00
Ashok Vuyyuru
dfa193fcfc msm: ipa3: Fix to avoid gsi/sys len stats mismatch
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>
2020-07-07 22:55:23 +05:30
qctecmdr
c67509b1c4 Merge "msm: ipa4: flow control changes for rmnet pipe" 2020-07-07 09:55:50 -07:00
qctecmdr
809b201347 Merge "msm: ipa3: Cache gsi_ver" 2020-07-07 09:26:18 -07:00
qctecmdr
be18f5ed82 Merge "msm: ipa: Add default cases for gsi and ipa hw version" 2020-07-07 06:55:32 -07:00
Amir Levy
f02a072963 msm: ipa3: Cache gsi_ver
Caching gsi_ver in static global variable ipa3_res.
Added gsi_ver to struct ipa3_plat_drv_res.
Caching gsi_ver in function ipa3_post_init in gsi_props of type
struct gsi_per_props.

Change-Id: I63e286d907be8d6151ed3a19bb1ef3c0601b9dc7
Acked-by: Eliad Ben Yishay <ebenyish@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-07-07 00:34:12 -07:00
qctecmdr
e348baa3ab Merge "msm: ipa: Fix to ignore return value of netif_receive_skb" 2020-07-04 16:00:22 -07:00
qctecmdr
ba036e5337 Merge "techpack: ipa: Fixing compile errors" 2020-07-04 15:16:18 -07:00
Michael Adisumarta
f4ea405fa9 techpack: ipa: Fixing compile errors
Addressed NULL check and P1 errors and fixing them accordingly.

Change-Id: I1a7e03fad2bd54d4c035a783f16709be12cd5be8
Signed-off-by: Michael Adisumarta <madisuma@codeauror.org>
2020-06-30 16:01:47 -07:00
Ilia Lin
44ea5a55e0 techpack: ipa: Fix include path
Defined proper include search path for the header files
in the project, and changed the "#include" lines accordingly.

Change-Id: I759177e2e2c32b2e062774d2a68d40b63a0f6906
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
2020-06-28 09:14:17 +03:00
Chaitanya Pratapa
f3219c84cd msm: ipa: enable status supression on WAN_PROD pipe
Processing status on every packet increases MIPS consumption
on Q6. Enable status supression to disable sending status
for every packet on UL path.

Change-Id: Ie818bcac683ee8b46e2e8a7a64e62e17ffda67ad
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-06-25 21:05:49 -07:00
Armaan Siddiqui
85c85ac455 msm: ipa: Add default cases for gsi and ipa hw version
Add default cases to avoid compilation error for unsupported
or new hw version

Change-Id: I37d8c753225a71ef6f1f28261e5938e40435fe50
Signed-off-by: Armaan Siddiqui <asiddiqu@codeaurora.org>
2020-06-25 00:53:53 +05:30
Chaitanya Pratapa
5b8bdb72db msm: ipa: Fix to ignore return value of netif_receive_skb
Default return value of netif_receive_skb is drop. Make
changes to ignore the return value to avoid printing error
for every packet.

Change-Id: I002e53c85d6bfa781240e65ee38175dae68a80bb
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-06-24 11:52:40 -07:00
Amir Levy
cf1055773b ipa: fix ipa3_send_nop_desc locking before alloc
After adding the tx_pkt_wrapper cache the allocation
was done in GFP_KERNEL while SoftIrqs are disabled
since spin_lock_bh was used.
This change releases the spinlock before allocation is done.

Change-Id: I3c3cee3e82d581c79a0258d3fcec378ed3d9a07c
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-06-24 07:37:55 -07:00
qctecmdr
8a9d067807 Merge "Register more ipa API" 2020-06-23 16:48:26 -07:00
Bojun Pan
ac6004def6 msm:ipa: fix for EOB scatter & gather support
1. Fix the issue where IPA adds the fragments into
the skb in reverse.
2. Fix the size update to stack for EOB packet.

Change-Id: I24e33391859dfe735cd3258a797e2c86d90bdfd6
2020-06-23 14:12:54 -07:00
Chaitanya Pratapa
ec886de69e ipa: Add support to notify wan upstream iface info
Netmgr requires upstream iface info whenever tethering is
enabled to toggle RSB advanced feature on/off for the
respective upstream iface. Make changes to give provision
to get upstream iface whenever tethering is enabled and
post a uevent.

Change-Id: I841e334fa9000dd5a0f0cc4fce52c5432f67cba8
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-06-21 20:07:47 -07:00
Amir Levy
253faa1d8c Register more ipa API
register the following ipa clients to ipa_framework:
ipa_wdi3
ipa_gsb
ipa_uc_offload
ipa_mhi
ipa_wigig
this comes as an addition to ipa_usb support.

Add all remaining IPA core driver API functions.
remove internal functions.
remove deprecated code from mhi_client and ipa_rm.

Change-Id: Ia56520863446c42ca7b4602f1633e0887abb0b40
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-06-20 23:55:14 -07:00
qctecmdr
e42ec8bab3 Merge "msm: ipa3: Fix increase the NAPI budget to maximum" 2020-06-19 13:24:50 -07:00
qctecmdr
7c22e26a44 Merge "msm: ipa: fix to check for ECONNRESET" 2020-06-19 12:57:38 -07:00
qctecmdr
9964653a72 Merge "msm: ipa3: Update channel start as success in flow control state" 2020-06-19 12:10:38 -07:00
qctecmdr
415e826ed9 Merge "msm: ipa: Fix not resetting HOLB configuration for USB DPL Pipe" 2020-06-19 11:42:54 -07:00