msm: mhi_dev: Defer mhi resume till M0 ack is sent
Defer mhi resume till M0 ack is notified to host. This is to ensure no outstanding transfer completion events are send to host before M0 ack. Change-Id: Ia10fabc554b1cdef14a0771012b9ffea68851e25 Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org> Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
This commit is contained in:
parent
456b6201e2
commit
af4493526f
@ -515,15 +515,6 @@ static int mhi_sm_prepare_resume(void)
|
||||
return res;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
res = mhi_dev_resume(mhi_sm_ctx->mhi_dev);
|
||||
if (res) {
|
||||
MHI_SM_ERR("Failed resuming mhi core: %d", res);
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (mhi_sm_ctx->mhi_dev->use_ipa) {
|
||||
res = ipa_mhi_resume();
|
||||
if (res) {
|
||||
MHI_SM_ERR("Failed resuming ipa_mhi:%d", res);
|
||||
@ -545,11 +536,27 @@ static int mhi_sm_prepare_resume(void)
|
||||
/* Send state change notification only if we were in M3 state */
|
||||
res = mhi_dev_send_state_change_event(mhi_sm_ctx->mhi_dev,
|
||||
MHI_DEV_M0_STATE);
|
||||
if (res) {
|
||||
MHI_SM_ERR("Failed to send event %s to host, returned %d\n",
|
||||
mhi_sm_dev_event_str(MHI_DEV_EVENT_M0_STATE), res);
|
||||
goto exit;
|
||||
if (res) {
|
||||
MHI_SM_ERR("Failed to send event %s to host, ret =%d\n",
|
||||
mhi_sm_dev_event_str(MHI_DEV_EVENT_M0_STATE),
|
||||
res);
|
||||
goto exit;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Defer mhi resume till M0 ack is notified to host.
|
||||
* This is to ensure no outstanding transfer completion events are send
|
||||
* to host before M0 ack.
|
||||
*/
|
||||
if ((old_state == MHI_DEV_M3_STATE) ||
|
||||
(old_state == MHI_DEV_M2_STATE)) {
|
||||
res = mhi_dev_resume(mhi_sm_ctx->mhi_dev);
|
||||
if (res) {
|
||||
MHI_SM_ERR("Failed resuming mhi core, returned %d",
|
||||
res);
|
||||
goto exit;
|
||||
}
|
||||
}
|
||||
|
||||
if (old_state == MHI_DEV_READY_STATE) {
|
||||
|
Loading…
Reference in New Issue
Block a user