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
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>
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>
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>
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>
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>
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>
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>
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>
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>
skb->len is still used to update the tx stats, after the skb
could be freed in tx completion context.
Change-Id: I2c490dfdbc9401613816058c1c8207ea6b6f3450
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>
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>
enabled the debug support for drop packets on the basis of
pipe number.
Change-Id: Ia1811dd7a5b28bfc787ed7e28e661dfac3e41a17
Signed-off-by: Rishabh Garg <rishgarg@codeaurora.org>
SMMU mapping resources are not freed as part of wdi disconnect.
Change-Id: I702ac3bc0b5643424d051c45ec607d925f9c369d
Signed-off-by: sivakanth vaka <svaka@codeaurora.org>
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>
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>
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
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>
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>
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
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>
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>
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>
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>
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>
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>
Return the right error in internal mdfy_flt_rule for
better IPACM debugability and update the status last
after the modify in and out.
Change-Id: Id872cd8fcea9816d13a20a4cf71c47311897aa9d
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
In case of Vlan mode, verify that registered header is of
correct type and warn otherwise.
Change-Id: Ic5c529f1c9cabf77d0ef9f996105014d4a272c7c
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Observing race condition during odl pipe open
simultaneously. Add changes to protect the scenario
with mutex lock.
Change-Id: Ib79df57fe871ed8ce8ce480589a93235d030cba0
Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
Add more protect on the unclock gsi IPA register access.
In case this is a valid access, assert before disabling
the IPA clock.
Change-Id: If2cc5a9942a5e457bbd8badaabde78138f676176
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
Includes all changes needed to support the uC HOLB monitoring
feature for slow peripherals.
Change-Id: I09668ab6a2790be766cfddee388de92b9bc83445
Acked-by: Priyadarshini Rajagopal <prajagop@qti.qualcomm.com>
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Caching tx_wrapper for tx DP optimization.
This change modifies tx_wrapper allocation from completely
dynamic,to partially dynamic for the WAN and LAN producer pipes.
A new list of free tx_wrapper is added,this can
dynmically decrease and grow, with a thereshold
which is initially read from the dts, and can be
changed via debugfs on runtime.
Change-Id: I60032a67f9ae87baeb42848cc312bf211c84f4e0
Acked-by: Tal Gelbard <tgelbard@qti.qualcomm.com>
Acked-by: Chemin Hsieh <cheminh@qti.qualcomm.com>
Signed-off-by: Jennifer L. Zenner <jzenner@codeaurora.org>
Add conf and header files to enable compilation in
GKI QGKI and debug modes for holi target.
Change-Id: I37ec5333602ee2dd0be89504f8dbf8951562cf25
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
this change defers starting of remote channels on device for rndis to
wan state ioctl is received thus avoiding double channel starts from
usb connect and wan state ioctl.
Change-Id: Ibd0960927496a1c2fd14b2df8fa94287dd2388a7
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
Based on HZ configured in target defconfig wait time was changing.
To avoid these scenario using msecs_to_jiffies function it will
give fixed time value based on HZ configured on the system.
Change-Id: Ia3fe08c238afb618b158b67d1b226ad62197391f
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Lito and Lagoon targets sharing same lunch option but
using different signing images, adding support
to load specific FW image to based on DTSI entry.
Change-Id: I468378fa163255a1ae8b0f7f2bb9726e7b656bd6
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Add 2 new pipes support for qmap flow control and low latency
traffic from rmnet_ctl module.
Change-Id: Iae11e742f1f3d1d3ec7b21b02426b0164dcb13c5
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
Observing SMMU fault because of providing the already free pointer to
IPA HW. Add changes to avoid the accessing the already freed pointer.
Change-Id: I4d7420816aec0ab7207c683315558e551373d8bc
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
Following issues are observed:
- For coalescing close frame not incrementing the ep_flt_num
- In endpoint mapping added new unused endpoint with filter support
because of that sending command for unused pipe.
Add changes to increment ep_flt_num number when sending coalescing
close frame command and avoid sending command for TEST_PROD pipe.
Change-Id: I3604c015308977c45eb1b251ed54d6e6744f643d
Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org>
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
This update will ensure that all the source and destination groups are
updated for IPA4.9.
Change-Id: I33e4c054d762f0fa2438d12e0c7a76dc10ea1395
Acked-by: Priyadarshini Rajagopal <prajagop@qti.qualcomm.com>
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
This change will fix the error seen with CFI for the return type of
ipa3_wwan_xmit.
Change-Id: Ib201debb338295f3a83bf07f51e0434cd3519db4
Acked-by: Priyadarshini Rajagopal <prajagop@qti.qualcomm.com>
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
update trace paths to direct to techpack dataipa folder
rather than old kernel path
Change-Id: Id6faa1f7858ecd493e66b169d31b15b1283ca887
Signed-off-by: Amir Levy <alevy@codeaurora.org>
As IPA driver moved to techpack, align with kernel version
Change-Id: Ifc3e0d40b6d54f0828fd4c4afc3b8e51a3ec7ffe
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Update makefile to enable IPA and GSI driver
compilations. Add ipa_clients_manager that will register
ipa clients API to ipa_framework at the kernel.
Add conf and header files to enable compilation in
GKI QGKI and debug modes.
Change-Id: I6993b1f6e88f89c8cd8c02fa2fc8cf6a6f169f7d
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Definition of the __gsi_update_mhi_channel_scratch is moved to the end
where it is followed by no other non static function.
Change-Id: I6243fbb322c504d606bd5cd02302627afadc82ea
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
Upate the driver to msm-5.4 kernel snapshot as of
'commit <e1007d065f6> ("sched/fair: consider uclamp
boost while deciding the start_cpu")'.
Change-Id: If63ae521dd26cbf72514cd0b95acfe38ed68cf82
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
To have base path similar to kernel, add the
base path of drivers/platform/msm. This is
mainly to ease the propagation from older
kernels.
Change-Id: Ib75002ad95c0f3374a897e0ca5125088ba2d1a3e
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>