Commit Graph

269 Commits

Author SHA1 Message Date
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
Ashok Vuyyuru
1346a26798 msm: ipa3: Fix increase the NAPI budget to maximum
Because of less NAPI budget it's need to reschedule multiple
times in high tput scenario.To avoid multiple reschedule
configuring maximum NAPI budget value.

Change-Id: Id8745b54c3909d01df69376a823396ea4c94eebb
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-06-19 23:06:33 +05:30
Michael Adisumarta
8135efe0d4 msm: ipa: fix to check for ECONNRESET
ECONNRESET is returned if Q6 QMI service is down. Make changes to
check for ECONNRESET as well to detect SSR.

Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-06-17 16:07:02 -07:00
Praveen Kurapati
2c82e9319e msm: ipa3: Update channel start as success in flow control state
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>
2020-06-17 12:31:13 -07:00
Ashok Vuyyuru
8b2da330a4 msm: ipa4: flow control changes for rmnet pipe
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>
2020-06-17 22:47:36 +05:30
Amir Levy
7fa129bfd4 ipa: revert tx-napi to be enabled via dts
This is a revert of a temporary change:
I178bf6fe4e17bf107f98086a9fd52f4cad484950

Was done since issues with the dts was resolved.

Change-Id: I7fec695989bee54f96c8cbe6c8f30dcce4a1e005
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-06-17 09:52:00 -07:00
Chaitanya Pratapa
4ebba45613 msm: ipa: Fix not resetting HOLB configuration for USB DPL Pipe
When switching from USB DPL to ODL or vice versa, HOLB configuration
should not be resetted as there can be a race where HOLB set by Modem
is removed by AP.

Change-Id: I8d7feb43f2c28b3a8f150e64b5089f9d8b991545
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-06-16 22:00:46 -07:00
Arnav Sharma
0701cc2fb8 Fastforwarding dataipa code to data-kernel.lnx.1.1
Change-Id: Ia444a39ed3b08abdacccd27a24685cd6ddcfc995
2020-06-11 16:49:53 -07:00
Michael Adisumarta
4045331780 msm: ipa: read channel stats from local variable
Fetch channel stats from local variable instead of
reading it from MMIO, which would have resulted in
Unclocked access.

Change-Id: I9a4eedeaa28cd52fade6ab9bea7151b702ca46d0
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
2020-06-10 21:09:44 -07:00
Bojun Pan
03f3d1ac41 msm: ipa: fix the use after free in rmnet_ipa_ctl xmit
skb->len is still used to update the tx stats, after the skb
could be freed in tx completion context.

Change-Id: I2c490dfdbc9401613816058c1c8207ea6b6f3450
2020-06-08 15:15:58 -07:00
Amir Levy
ec17a7f341 msm: ipa: cancel timer after EOT packet sent
Canceling the nop descriptor timer in case we eventually
do send an EOT packet since we cross the threshold

Change-Id: Ifcf8615c19cf8ce36a2198d214c7c7ff68501e43
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-06-02 00:09:13 -07:00
qctecmdr
557c185a3d Merge "msm:ipa: fix the tx_napi enable condition" 2020-05-29 12:41:47 -07:00
qctecmdr
19cf065ea0 Merge "msm: ipa: fix to check for ECONNRESET" 2020-05-29 11:49:46 -07:00
Bojun Pan
f4527983e0 msm:ipa: fix the tx_napi enable condition
Only enable the tx_napi on APPS_PROD pipes.

Change-Id: Iaff4645e618d37604a86b5fc05f6cfe6e677c156
2020-05-28 10:28:25 -07:00
Chaitanya Pratapa
18866f3967 msm: ipa: fix to check for ECONNRESET
ECONNRESET is returned if Q6 QMI service is down. Make changes to
check for ECONNRESET as well to detect SSR.

Change-Id: If466106ed6726aa7d60af86bdcf5e55ef03b6e2c
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-05-27 22:14:16 -07:00
Bojun Pan
f29b6320d4 msm: ipa: fix the unlock issue for rmnet_ctl module
Fix the double unlock issue on rmnet_ctl_wakeup_ipa.

Change-Id: I3f559a7296463fee446da5b8f0174ccae91ba43a
2020-05-27 11:15:07 -07:00
Rishabh Garg
d5c81c5204 ipa3:msm: Added debugfs support for drop packet stats
enabled the debug support for drop packets on the basis of
pipe number.

Change-Id: Ia1811dd7a5b28bfc787ed7e28e661dfac3e41a17
Signed-off-by: Rishabh Garg <rishgarg@codeaurora.org>
2020-05-26 06:21:44 -07:00
Sivakanth vaka
b93346f3ba msm: ipa3: fixed memory leak
SMMU mapping resources are not freed as part of wdi disconnect.

Change-Id: I702ac3bc0b5643424d051c45ec607d925f9c369d
Signed-off-by: sivakanth vaka <svaka@codeaurora.org>
2020-05-21 11:44:36 -07:00
Ilia Lin
7e89bf0760 msm: ipa: Fix ipa_pre_init teardown
Part of allocations made by the ipa_pre_init() are not freed correctly.
Fixing this by calling the relevant cleanup's.
Since the ipa_odl_init() is not the last allocation now,
the appropriate ipa_odl_cleanup added.

Change-Id: Iedbe1dff829f5bedbf788ffd89928982a498d065
Signed-off-by: Ilia Lin <ilial@codeaurora.org>
2020-05-21 05:53:02 -07:00
Bojun Pan
acde797a5f msm: ipa: add log for uC HOLB monitor
Log last 20 HOLB event for each client.
Add debugfs support to print those events.

Change-Id: I4aa1bd6c86b22efbbaa3a5be2030667d3e4c8bec
2020-05-19 09:39:24 -07:00
Bojun Pan
e32086115f msm:ipa:use separate event ring for low latency UL pipe
Setup a separate event ring for low latency UL pipe.

Change-Id: Ia7800457430f9d941587f4bffc9de3ff2b15ef2b
2020-05-18 22:35:48 -07:00
qctecmdr
656cb75924 Merge "msm: ipa: Update debugfs to print rules correctly" 2020-05-18 18:15:23 -07:00
qctecmdr
8df42fb3ca Merge "msm: ipa: enable SYSPIPE_ERR_DETECTION bit for deaggr_err" 2020-05-18 15:00:00 -07:00
qctecmdr
5a5437d6d7 Merge "msm:ipa: add protection for vote/unvote from ioctl" 2020-05-14 23:32:43 -07:00
Bojun Pan
1342ce16e1 msm: ipa: Update debugfs to print rules correctly
This change will fix the ip4_rt and ip4_flt debugfs variables to print
the complete strings for ipa3_attrib_dump_eq.

Change-Id: Ibff24a137961657d5f8e506c17f9a93f64feb2dd
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
2020-05-14 23:09:17 -07:00
Bojun Pan
70fcaf66b7 msm: ipa: enable SYSPIPE_ERR_DETECTION bit for deaggr_err
We observe the IPA RX stall due to the DEAGGR_ERR_IRQ
of PACKET_SIZE > FRAME_SIZE on rndis.
In IPA, some of de-aggregation error handling checks
are dependent on the syspipe_err_detection config bit.
Adding IGNORE_MIN_PKT_ERR bit for rndis as well based
on recommendations.

Change-Id: Ice434c163091392ba9db386139dc5e439fb4e4fd
2020-05-11 12:18:11 -07:00
Amir Levy
1ef673d4aa msm: ipa3: enable tx-napi via ipa.c
since current issues with adding changes to the
dts, the tx-napi property is enabled now independently
of the dts.

Change-Id: I178bf6fe4e17bf107f98086a9fd52f4cad484950
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-05-11 16:10:07 +03:00
qctecmdr
c5986dd375 Merge "msm: ipa3: Fix to handle NULL ptr access" 2020-05-08 10:25:13 -07:00
Praveen Kurapati
6f4a63a5a1 msm: ipa3: Fix to handle NULL ptr access
Due to modem slow init, race condition is seen during subsequent
SSR. Add changes to protect IPA handle using mutex lock.

Change-Id: I4390fc1370bc15d232a386ae07c3cb018d5744d3
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
2020-05-08 10:37:58 +05:30
Bojun Pan
eaa8ff2543 msm:ipa: add protection for vote/unvote from ioctl
In security fuzzy test, the ioctl could be called multiple time
for devote/vote, which could cause a devote when IPA already go
PC and cause the assert.

Change-Id: I47e6469d17f2b9bfa93e115dd704a415b6d024d8
2020-05-07 14:10:18 -07:00
Sivan Reinstein
17e4d9ddd5 msm: ipa: gsi: Add support for EV RP DDR access feature
Allocate memory on DDR for event RP and provide it to
the GSI context.
Access the event RP using the DDR pointer instead of
reading the GSI register.

Change-Id: Idaaa352aa8cc20089ce663a2740e6bb121d8258d
Acked-by: Nadav Levintov <nadavl@qti.qualcomm.com>
Signed-off-by: Sivan Reinstein <sivanr@codeaurora.org>
2020-05-07 08:44:26 +03:00
Amir Levy
c45018dd9f msm: add: changed tx completion to be done in napi context
In an effort to improve the data path changed the TX
data path to use NAPI for tx completions.
Added a specific polling function for NAPI, and a napi_struct
to each sys pipe.

Change-Id: I168a03a112109a2a9a7a747bf08147107a8d5fc7
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-05-06 12:39:14 -07:00
Amir Levy
e42bd3284e msm: ipa3: Add hw_type_index to ipa3_context
Caching hw_type_index in ipa3_context in ipa3_pre_init.

Change-Id: Iab6e801165db7c1fcb4cc6a4c0dc5cbc83052e94
Acked-by: Eliad Ben Yishay <ebenyish@qti.qualcomm.com>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-05-06 01:35:09 -07:00
qctecmdr
e9dfda8821 Merge "msm: ipa3: Change the hw version check for tethered stats" 2020-05-06 00:02:59 -07:00
qctecmdr
c4e6f97589 Merge "msm: ipa: Fix updating the doobell for WDI3" 2020-05-05 23:06:09 -07:00
Amir Levy
1460c9b090 msm: ipa4: update proc_ctx generic command params
Update generic header processing command params to
have tlv length of 2 and  make LSB bits of header
address followed by MSB bits.

Change-Id: If4e53dbb6426c24028c81add1032138ee6e1a37b
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2020-05-05 15:19:50 +03:00
sivakanth reddy vaka
5d133c8bbd msm: ipa3: Change the hw version check for tethered stats
Added Changes to support hw tethered stats only when
wdi3 over gsi support is present.

Change-Id: I5ab7cf9772d88f31c36553902e60b090d437bbc8
Signed-off-by: sivakanth reddy vaka <svaka@codeaurora.org>
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-05-04 22:56:16 -07:00
Chaitanya Pratapa
a1d89b7555 msm: ipa: Fix updating the doobell for WDI3
For WDI3, requirement is to ring the event ring DB
with a value outside of the ring. Currently we are taking the
event_ring_size from non SMMU structure which is incorrect.
Make a chane to use the value based on SMMU enablement.
Also make change to ring the DB with the below logic.
Event ring base addr + Event ring size + 1 element size.

Change-Id: Ie9e4cad63070d1488d0a36f9d08279d2d566055a
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-05-04 16:56:02 -07:00