From 1ab1f500e3d5ea4fa8025cc72bad537e685b2e71 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 6905fd163476..d948dd3eb425 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c @@ -2198,6 +2198,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); @@ -2218,6 +2219,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);