mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
msm: ipa3: Update holb config on WLAN & USB CONS ep.
After configuring WLAN CONS ep or USB ep there is a chance of IPA hardware stall, if WLAN ep or USB ep is not pulling data fast enough. So, set holb on WLAN CONS ep and USB CONS ep to avoid stall. Change-Id: I370165ce197181eaac999df2d8abea517c9e9bd4 Signed-off-by: Piyush Dhyani <pdhyani@codeaurora.org>
This commit is contained in:
parent
741d97715b
commit
52eb4e3564
1 changed files with 13 additions and 6 deletions
|
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <asm/barrier.h>
|
||||
|
|
@ -62,11 +62,19 @@ int ipa3_enable_data_path(u32 clnt_hdl)
|
|||
* on other end from IPA hw.
|
||||
*/
|
||||
if ((ep->client == IPA_CLIENT_USB_DPL_CONS) ||
|
||||
(ep->client == IPA_CLIENT_MHI_DPL_CONS))
|
||||
(ep->client == IPA_CLIENT_MHI_DPL_CONS)) {
|
||||
holb_cfg.tmr_val = 0;
|
||||
holb_cfg.en = IPA_HOLB_TMR_EN;
|
||||
else
|
||||
} else if (ipa3_ctx->ipa_hw_type == IPA_HW_v4_11 &&
|
||||
(ep->client == IPA_CLIENT_WLAN1_CONS ||
|
||||
ep->client == IPA_CLIENT_USB_CONS)) {
|
||||
holb_cfg.en = IPA_HOLB_TMR_EN;
|
||||
holb_cfg.tmr_val = IPA_HOLB_TMR_VAL_4_5;
|
||||
}
|
||||
else {
|
||||
holb_cfg.en = IPA_HOLB_TMR_DIS;
|
||||
holb_cfg.tmr_val = 0;
|
||||
holb_cfg.tmr_val = 0;
|
||||
}
|
||||
res = ipa3_cfg_ep_holb(clnt_hdl, &holb_cfg);
|
||||
}
|
||||
|
||||
|
|
@ -1560,8 +1568,6 @@ int ipa3_xdci_disconnect(u32 clnt_hdl, bool should_force_clear, u32 qmi_req_id)
|
|||
if (!ep->keep_ipa_awake)
|
||||
IPA_ACTIVE_CLIENTS_INC_EP(ipa3_get_client_mapping(clnt_hdl));
|
||||
|
||||
ipa3_disable_data_path(clnt_hdl);
|
||||
|
||||
if (!IPA_CLIENT_IS_CONS(ep->client)) {
|
||||
IPADBG("Stopping PROD channel - hdl=%d clnt=%d\n",
|
||||
clnt_hdl, ep->client);
|
||||
|
|
@ -1585,6 +1591,7 @@ int ipa3_xdci_disconnect(u32 clnt_hdl, bool should_force_clear, u32 qmi_req_id)
|
|||
goto stop_chan_fail;
|
||||
}
|
||||
}
|
||||
ipa3_disable_data_path(clnt_hdl);
|
||||
IPA_ACTIVE_CLIENTS_DEC_EP(ipa3_get_client_mapping(clnt_hdl));
|
||||
|
||||
IPADBG("exit\n");
|
||||
|
|
|
|||
Loading…
Reference in a new issue