OSDN Git Service

msm: ipa3: Update holb config on USB DPL ep
authorMohammed Javid <mjavid@codeaurora.org>
Fri, 13 Jul 2018 10:17:51 +0000 (15:47 +0530)
committerMohammed Javid <mjavid@codeaurora.org>
Mon, 30 Jul 2018 14:36:00 +0000 (20:06 +0530)
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 <mjavid@codeaurora.org>
drivers/platform/msm/ipa/ipa_v3/ipa_client.c

index 69dda04..0f86194 100644 (file)
@@ -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);
        }