From f6b9625a3eab3bd854d84c2ea2e6fe03126630df Mon Sep 17 00:00:00 2001 From: Mohammed Javid Date: Fri, 13 Jul 2018 15:47:51 +0530 Subject: [PATCH] msm: ipa3: Update holb config on USB DPL ep Once USB DPL consumer ep is configured, there is a chance of IPA hardware getting stalled, if DPL client is not pulling the data over other end. so, set holb discard over USB DPL cons ep to avoid this stall. Change-Id: I520b8c1ec84e03b783677c43670cbb9f904a4b4f Signed-off-by: Mohammed Javid --- drivers/platform/msm/ipa/ipa_v3/ipa_client.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_client.c b/drivers/platform/msm/ipa/ipa_v3/ipa_client.c index 69dda048f2bb..0f86194488c0 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_client.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_client.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -62,8 +62,16 @@ int ipa3_enable_data_path(u32 clnt_hdl) IPADBG("Enabling data path\n"); if (IPA_CLIENT_IS_CONS(ep->client)) { - memset(&holb_cfg, 0 , sizeof(holb_cfg)); - holb_cfg.en = IPA_HOLB_TMR_DIS; + memset(&holb_cfg, 0, sizeof(holb_cfg)); + /* + * Set HOLB on USB DPL CONS to avoid IPA stall + * if DPL client is not pulling the data + * on other end from IPA hw. + */ + if (ep->client == IPA_CLIENT_USB_DPL_CONS) + holb_cfg.en = IPA_HOLB_TMR_EN; + else + holb_cfg.en = IPA_HOLB_TMR_DIS; holb_cfg.tmr_val = 0; res = ipa3_cfg_ep_holb(clnt_hdl, &holb_cfg); } -- 2.11.0