Addressed unintialized pointers and P1 errors and
fixing them accordingly.
Change-Id: Iba70c5fdf91fffd823c3473383e687fe8b549b64
Signed-off-by: Michael Adisumarta <madisuma@codeauror.org>
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>
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>
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>
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>
Rate limit the warning which could cause latency on low_lat data path.
Add stats count for buffer replenish issues.
Change-Id: I8ce8c7584be211e215a05b6c5c9a1ff1b2512240
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>
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>
Addressed NULL check and P1 errors and fixing them accordingly.
Change-Id: I1a7e03fad2bd54d4c035a783f16709be12cd5be8
Signed-off-by: Michael Adisumarta <madisuma@codeauror.org>
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>
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>
Add default cases to avoid compilation error for unsupported
or new hw version
Change-Id: I37d8c753225a71ef6f1f28261e5938e40435fe50
Signed-off-by: Armaan Siddiqui <asiddiqu@codeaurora.org>
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>
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>
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>