From b21d6d1bf4a2d3bb9232d268592f34add8017054 Mon Sep 17 00:00:00 2001 From: Ashok Vuyyuru Date: Fri, 1 May 2020 01:33:15 +0530 Subject: [PATCH] msm: ipa3: Fix to enable the HOLB during enable wdi pipe WLAN client disconnect scenario enable HOLB on WLAN consumer, with timer value 0. if client connected without disabling the hotspot, it was leading tput impact. To avoid this scenario during reconnect client configure the holb with timer value on WLAN consumer pipe. Change-Id: I33b4c97c4e6adea3107a46d5ca799379d255876c Signed-off-by: Ashok Vuyyuru --- drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c index 61578d358a..c1ac2f8ba5 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c @@ -2200,6 +2200,7 @@ int ipa3_enable_gsi_wdi_pipe(u32 clnt_hdl) struct ipa3_ep_context *ep; struct ipa_ep_cfg_ctrl ep_cfg_ctrl; int ipa_ep_idx; + struct ipa_ep_cfg_holb holb_cfg; IPADBG("ep=%d\n", clnt_hdl); @@ -2220,6 +2221,14 @@ int ipa3_enable_gsi_wdi_pipe(u32 clnt_hdl) memset(&ep_cfg_ctrl, 0, sizeof(struct ipa_ep_cfg_ctrl)); ipa3_cfg_ep_ctrl(ipa_ep_idx, &ep_cfg_ctrl); + if (IPA_CLIENT_IS_CONS(ep->client)) { + memset(&holb_cfg, 0, sizeof(holb_cfg)); + holb_cfg.en = IPA_HOLB_TMR_DIS; + holb_cfg.tmr_val = 0; + ipa3_cfg_ep_holb(clnt_hdl, &holb_cfg); + } + + IPA_ACTIVE_CLIENTS_DEC_EP(ipa3_get_client_mapping(clnt_hdl)); ep->gsi_offload_state |= IPA_WDI_ENABLED; IPADBG("client (ep: %d) enabled\n", clnt_hdl);