Ver código fonte

msm: ipa3: Enabling the HOLB on USB consumer pipe for APQ target

Enabling the HOLB on USB consumer pipe to avoid IPA HW stall
if USB host slow in pulling the data.

Change-Id: Ifc4b13ce52e241a3b1942bd81745f1ef3b2903e7
Signed-off-by: Ashok Vuyyuru <[email protected]>
Ashok Vuyyuru 3 anos atrás
pai
commit
6d4fa6b6e8
1 arquivos alterados com 10 adições e 3 exclusões
  1. 10 3
      drivers/platform/msm/ipa/ipa_v3/ipa_client.c

+ 10 - 3
drivers/platform/msm/ipa/ipa_v3/ipa_client.c

@@ -68,11 +68,18 @@ int ipa3_enable_data_path(u32 clnt_hdl)
 		if ((ep->client == IPA_CLIENT_USB_DPL_CONS) ||
 				(ep->client == IPA_CLIENT_TPUT_CONS) ||
 				(ep->client == IPA_CLIENT_MHI_DPL_CONS) ||
-				(ep->client == IPA_CLIENT_MHI_QDSS_CONS))
+				(ep->client == IPA_CLIENT_MHI_QDSS_CONS)) {
 			holb_cfg.en = IPA_HOLB_TMR_EN;
-		else
+			holb_cfg.tmr_val = 0;
+		} else if (ipa3_ctx->ipa_hw_type >= IPA_HW_v5_1 &&
+			ipa3_ctx->platform_type == IPA_PLAT_TYPE_APQ &&
+			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);
 	}