msm: ipa3: Send enable force clear only for producer pipe
Enable forceclear only supported for producer pipe so avoid sending the force clear command to consumer pipes. Signed-off-by: Ashok Vuyyuru <avuyyuru@codeaurora.org> Change-Id: I850f360f18c6598af6914c9cd2c89cacad1ac4c9
This commit is contained in:
@@ -2638,12 +2638,14 @@ int ipa3_suspend_gsi_wdi_pipe(u32 clnt_hdl)
|
||||
return -EFAULT;
|
||||
}
|
||||
if (ep->valid) {
|
||||
if (IPA_CLIENT_IS_PROD(ep->client)) {
|
||||
source_pipe_bitmask = ipahal_get_ep_bit(ipa_ep_idx);
|
||||
source_pipe_reg_idx = ipahal_get_ep_reg_idx(ipa_ep_idx);
|
||||
|
||||
IPADBG("suspended pipe %d\n", ipa_ep_idx);
|
||||
res = ipa3_enable_force_clear(clnt_hdl,
|
||||
false, source_pipe_bitmask, source_pipe_reg_idx);
|
||||
false, source_pipe_bitmask,
|
||||
source_pipe_reg_idx);
|
||||
if (res) {
|
||||
/*
|
||||
* assuming here modem SSR, AP can remove
|
||||
@@ -2658,6 +2660,7 @@ int ipa3_suspend_gsi_wdi_pipe(u32 clnt_hdl)
|
||||
} else {
|
||||
disable_force_clear = true;
|
||||
}
|
||||
}
|
||||
retry_gsi_stop:
|
||||
res = ipa3_stop_gsi_channel(ipa_ep_idx);
|
||||
if (res != 0 && res != -GSI_STATUS_AGAIN &&
|
||||
|
@@ -879,10 +879,12 @@ int ipa3_disable_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx)
|
||||
* as IPA uC will fail to suspend the pipe otherwise.
|
||||
*/
|
||||
ep = &ipa3_ctx->ep[ipa_ep_idx_rx];
|
||||
if (IPA_CLIENT_IS_PROD(ep->client)) {
|
||||
source_pipe_bitmask = ipahal_get_ep_bit(ipa_ep_idx_rx);
|
||||
source_pipe_reg_idx = ipahal_get_ep_reg_idx(ipa_ep_idx_rx);
|
||||
result = ipa3_enable_force_clear(ipa_ep_idx_rx,
|
||||
false, source_pipe_bitmask, source_pipe_reg_idx);
|
||||
false, source_pipe_bitmask,
|
||||
source_pipe_reg_idx);
|
||||
if (result) {
|
||||
/*
|
||||
* assuming here modem SSR, AP can remove
|
||||
@@ -897,6 +899,7 @@ int ipa3_disable_wdi3_pipes(int ipa_ep_idx_tx, int ipa_ep_idx_rx)
|
||||
} else {
|
||||
disable_force_clear = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* stop gsi rx channel */
|
||||
result = ipa3_stop_gsi_channel(ipa_ep_idx_rx);
|
||||
|
@@ -1809,10 +1809,12 @@ int ipa3_disable_wigig_pipe_i(enum ipa_client_type client)
|
||||
}
|
||||
|
||||
IPADBG("pipe %d\n", ipa_ep_idx);
|
||||
if (IPA_CLIENT_IS_PROD(ep->client)) {
|
||||
source_pipe_bitmask = ipahal_get_ep_bit(ipa_ep_idx);
|
||||
source_pipe_reg_idx = ipahal_get_ep_reg_idx(ipa_ep_idx);
|
||||
res = ipa3_enable_force_clear(ipa_ep_idx,
|
||||
false, source_pipe_bitmask, source_pipe_reg_idx);
|
||||
false, source_pipe_bitmask,
|
||||
source_pipe_reg_idx);
|
||||
if (res) {
|
||||
/*
|
||||
* assuming here modem SSR, AP can remove
|
||||
@@ -1827,6 +1829,7 @@ int ipa3_disable_wigig_pipe_i(enum ipa_client_type client)
|
||||
} else {
|
||||
disable_force_clear = true;
|
||||
}
|
||||
}
|
||||
retry_gsi_stop:
|
||||
res = ipa3_stop_gsi_channel(ipa_ep_idx);
|
||||
if (res != 0 && res != -GSI_STATUS_AGAIN &&
|
||||
|
Reference in New Issue
Block a user