Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1024d06f authored by Ashok Vuyyuru's avatar Ashok Vuyyuru
Browse files

msm: ipa3: In deep sleep scenario destroy/ reinitialize uC interrupts



In deep sleep suspend/resume scenario destroy the uC interrupts
in suspend and reinitialize the interrupts in resume

Change-Id: Ib3631cef8e1e78651b6b79aef7f3d65dae0411c2
Signed-off-by: default avatarAshok Vuyyuru <quic_avuyyuru@quicinc.com>
parent c94d56d4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9660,6 +9660,7 @@ static void ipa3_deepsleep_suspend(void)
	/*Disabling IPA interrupt*/
	ipa3_remove_interrupt_handler(IPA_TX_SUSPEND_IRQ);
	ipa3_interrupts_destroy(ipa3_res.ipa_irq, &ipa3_ctx->master_pdev->dev);
	ipa3_uc_interface_destroy();
	/*Destroy the NAT device*/
	ipa3_nat_ipv6ct_destroy_devices();
	/*Freeing memory allocated for coalesing and dma task*/
+1 −0
Original line number Diff line number Diff line
@@ -2978,6 +2978,7 @@ int ipa3_uc_send_cmd(u32 cmd, u32 opcode, u32 expected_status,
void ipa3_uc_register_handlers(enum ipa3_hw_features feature,
			      struct ipa3_uc_hdlrs *hdlrs);
int ipa3_uc_notify_clk_state(bool enabled);
void ipa3_uc_interface_destroy(void);
int ipa3_dma_setup(void);
void ipa3_dma_shutdown(void);
void ipa3_dma_async_memcpy_notify_cb(void *priv,
+3 −1
Original line number Diff line number Diff line
@@ -454,6 +454,8 @@ int ipa3_remove_interrupt_handler(enum ipa_irq_type interrupt)
		return -EFAULT;
	}

	/*If free ipa3_ctx pointer causing device crash during remove interrupt*/
	if(ipa_interrupt_to_cb[irq_num].private_data != ipa3_ctx)
		kfree(ipa_interrupt_to_cb[irq_num].private_data);
	ipa_interrupt_to_cb[irq_num].deferred_flag = false;
	ipa_interrupt_to_cb[irq_num].handler = NULL;