mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 08:07:32 -04:00
msm: ipa4: Add change to stop netdev
As SSR event is not received to APPS, some data is sent to modem. Add change to stop netdev first during SSR events and halt the modem channels. Change-Id: Id62d5f0cf811a30dc796401c15cf1ed6b8425992 Signed-off-by: Praveen Kurapati <pkurapat@codeaurora.org>
This commit is contained in:
parent
1903fc4aed
commit
6e129eb1ea
2 changed files with 9 additions and 4 deletions
|
|
@ -3965,6 +3965,8 @@ void ipa3_update_ssr_state(bool is_ssr)
|
|||
*/
|
||||
void ipa3_q6_pre_shutdown_cleanup(void)
|
||||
{
|
||||
bool prod = false;
|
||||
|
||||
IPADBG_LOW("ENTER\n");
|
||||
|
||||
IPA_ACTIVE_CLIENTS_INC_SIMPLE();
|
||||
|
|
@ -3973,6 +3975,10 @@ void ipa3_q6_pre_shutdown_cleanup(void)
|
|||
if (!ipa3_ctx->ipa_endp_delay_wa)
|
||||
ipa3_q6_pipe_delay(true);
|
||||
ipa3_q6_avoid_holb();
|
||||
if (ipa3_ctx->ipa_hw_type >= IPA_HW_v4_0) {
|
||||
prod = true;
|
||||
ipa3_halt_q6_gsi_channels(prod);
|
||||
}
|
||||
if (ipa3_ctx->ipa_config_is_mhi)
|
||||
ipa3_set_reset_client_cons_pipe_sus_holb(true,
|
||||
IPA_CLIENT_MHI_CONS);
|
||||
|
|
@ -4030,8 +4036,6 @@ void ipa3_q6_post_shutdown_cleanup(void)
|
|||
|
||||
/* halt both prod and cons channels starting at IPAv4 */
|
||||
if (ipa3_ctx->ipa_hw_type >= IPA_HW_v4_0) {
|
||||
prod = true;
|
||||
ipa3_halt_q6_gsi_channels(prod);
|
||||
IPA_ACTIVE_CLIENTS_DEC_SIMPLE();
|
||||
IPADBG("Exit without consumer check\n");
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2857,12 +2857,13 @@ static int ipa3_lcl_mdm_ssr_notifier_cb(struct notifier_block *this,
|
|||
switch (code) {
|
||||
case SUBSYS_BEFORE_SHUTDOWN:
|
||||
IPAWANINFO("IPA received MPSS BEFORE_SHUTDOWN\n");
|
||||
/*Stop netdev first to stop queueing pkts to Q6 */
|
||||
if (IPA_NETDEV())
|
||||
netif_stop_queue(IPA_NETDEV());
|
||||
/* send SSR before-shutdown notification to IPACM */
|
||||
rmnet_ipa_send_ssr_notification(false);
|
||||
atomic_set(&rmnet_ipa3_ctx->is_ssr, 1);
|
||||
ipa3_q6_pre_shutdown_cleanup();
|
||||
if (IPA_NETDEV())
|
||||
netif_stop_queue(IPA_NETDEV());
|
||||
ipa3_qmi_stop_workqueues();
|
||||
ipa3_wan_ioctl_stop_qmi_messages();
|
||||
ipa_stop_polling_stats();
|
||||
|
|
|
|||
Loading…
Reference in a new issue